-----Original Message-----
From: Philip Nienhuis [mailto:address@hidden
Sent: Sunday, December 07, 2014 5:22 PM
To: JohnD
Subject: Re: [MXE MinGW] miscompiled gcc for --enable64?
JohnD wrote:
-----Original Message-----
From: Philip Nienhuis [mailto:address@hidden
Sent: Sunday, December 07, 2014 3:34 PM
To: JohnD; address@hidden
Subject: Re: [MXE MinGW] miscompiled gcc for --enable64?
JohnD wrote:
Date: Fri, 5 Dec 2014 14:58:02 -0800 (PST)
From: Philip Nienhuis <address@hidden>
<snip>
-----
I made a new mxe-build with --enable-windows-64 last night on my
system (current mxe hg as of last night), but only using octave 3.8.2.
Built on mint linux 17
Running 64 bit running in Win 7 Prof - service pack 1 - 64bit
PASS 11402
FAIL 16
Running build_packages.m from the gui compiles everything ok
That surprises me.
First of all, for me the patch from this bug report is needed to make
a few OF packages compile:
https://savannah.gnu.org/bugs/index.php?43318
(I'd appreciate if a core dev could review that patch, please)
But even with that patch, the following OF packages included in
mxe-octave won't install at all with --enable-64:
- image
- odepkg
- fl-core
- netcdf
Have you tried "pkg list" to see which packages do get installed
successfully?
<snip>
---
Running octave 64 for me:
GNU Octave, version 3.8.2
Copyright (C) 2014 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. For details, type 'warranty'.
Octave was configured for "x86_64-w64-mingw32".
Additional information about Octave is available at http://www.octave.org.
Please contribute if you find this software useful.
For more information, visit http://www.octave.org/get-involved.html
Read http://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'.
uname
ns =
scalar structure containing the fields:
sysname = MINGW32_NT-6.1
nodename = speedser
release = Windows 7
version = Service Pack 1
machine = x86_64
Same here, apart from machine name
pkg list
Package Name | Version | Installation directory
---------------------+---------+-----------------------
actuarial | 1.1.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\actuarial-1.1.0
communications | 1.2.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\communications-1.2.0
control | 2.6.6 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\control-2.6.6
data-smoothing | 1.3.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\data-smoothing-1.3.0
dicom | 0.1.1 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\dicom-0.1.1
fits | 1.0.5 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\fits-1.0.5
fl-core | 1.0.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\fl-core-1.0.0
fuzzy-logic-toolkit | 0.4.5 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\fuzzy-logic-toolkit-0.
4.5
general | 1.3.4 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\general-1.3.4
geometry | 1.7.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\geometry-1.7.0
image | 2.2.2 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\image-2.2.2
io | 2.2.5 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\io-2.2.5
linear-algebra | 2.2.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\linear-algebra-2.2.0
ltfat | 2.0.1 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\ltfat-2.0.1
miscellaneous | 1.2.1 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\miscellaneous-1.2.1
netcdf | 1.0.5 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\netcdf-1.0.5
odepkg | 0.8.4 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\odepkg-0.8.4
optim | 1.4.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\optim-1.4.0
quaternion | 2.2.2 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\quaternion-2.2.2
signal | 1.3.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\signal-1.3.0
sockets | 1.0.8 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\sockets-1.0.8
specfun | 1.1.0 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\specfun-1.1.0
statistics | 1.2.3 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\statistics-1.2.3
struct | 1.0.10 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\struct-1.0.10
tsa | 4.2.7 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\tsa-4.2.7
windows | 1.2.1 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\windows-1.2.1
zenity | 0.5.7 |
C:\Octave\octave64\octave-3.8.2\share\octave\packages\zenity-0.5.7
So you also have the image pkg missing.
What I get when trying to install fl-core, netcdf and odepkg:
====================== fl-core ====================
>> cd ([OCTAVE_HOME filesep "src"])
>> pkg install -verbose fl-core-1.0.0.tar.gz mkdir
(C:\Users\Philip\AppData\Local\Temp\oct-4)
untar (fl-core-1.0.0.tar.gz, C:\Users\Philip\AppData\Local\Temp\oct-4)
make: Entering directory `/tmp/oct-4/fl-core/src'
mkoctfile -s fl_compose.cc -lpthread
fl_compose.cc: In function 'void sparse_compose(octave_value_list)':
fl_compose.cc:468:67: error: call of overloaded 'SparseMatrix(int, int,
int)' is ambiguous
sparseC = SparseMatrix((int)colsB, (int)rowsA, (int)(colsB*rowsA));
^
fl_compose.cc:468:67: note: candidates are:
In file included from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/mx-base.h:6
6:0,
from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/Matrix.h:30
,
from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/oct.h:33,
from fl_compose.cc:21:
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/dSparse.h:8
8:3:
note: SparseMatrix::SparseMatrix(octave_idx_type, octave_idx_type,
octave_idx_type)
SparseMatrix (octave_idx_type r, octave_idx_type c,
^
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/dSparse.h:6
0:12:
note: SparseMatrix::SparseMatrix(octave_idx_type, octave_idx_type, double)
explicit SparseMatrix (octave_idx_type r, octave_idx_type c, double val)
^
make: *** [fl_compose.oct] Error 1
make: Leaving directory `/tmp/oct-4/fl-core/src'
pkg: error running `make' for the fl-core package.
======================== netcdf ===========================
>> pkg install -verbose netcdf-1.0.5.tar.gz
:
: long configure report + many error messages scrolled out of sight
:
:
__netcdf__.cc: In function 'octave_value_list Fnetcdf_inqDimIDs(const
octave_value_list&, int)':
__netcdf__.cc:2000:29: error: call of overloaded 'octave_value(Array<int>&)'
is ambiguous
return octave_value(dimids);
^
__netcdf__.cc:2000:29: note: candidates are:
In file included from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/oct-obj.h:3
4:0,
from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/ov-fcn.h:32
,
from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/ov-builtin.
h:28,
from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/defun-int.h
:28,
from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/defun-dld.h
:30,
from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/oct.h:36,
from __netcdf__.cc:17:
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/ov.h:282:3:
note: octave_value::octave_value(const Array<std::basic_string<char> >&)
octave_value (const Array<std::string>& cellstr);
^
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave\../octave/ov.h:280:3:
note: octave_value::octave_value(const Array<long long int>&, bool, bool)
:
.....and so on.
=========================== odepkg =====================
>> pkg install -verbose odepkg-0.8.4.tar.gz <configure>
:
<patches>
:
:
In file included from odepkg_octsolver_radau.cc:35:0:
odepkg_octsolver_radau.cc:612:24: error: invalid conversion from 'int
(*)(const octave_idx_type&, double*, const octave_idx_type*, const double*,
const octave_idx_type*) {aka int (*)(const long long int&, double*, const
long long int*, const double*, const long long int*)}' to
'odepkg_radau_masstype {aka long long int (*)(const long long int&, double*,
const long long int*, const double*, const long long int*)}'
[-fpermissive]
IPAR, IDID));
^
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave/f77-fcn.h:70:27:
note: in definition of macro 'F77_XFCN'
F77_FUNC (f, F) args; \
^
In file included from
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave/oct.h:31:0,
from odepkg_octsolver_radau.cc:34:
odepkg_octsolver_radau.cc:65:23: note: initializing argument 14 of 'int
radau_(const octave_idx_type&, odepkg_radau_usrtype, const double&, const
double*, const double&, const double&, const double*, const double*, const
octave_idx_type&, odepkg_radau_jactype, const octave_idx_type&, const
octave_idx_type&, const octave_idx_type&, odepkg_radau_masstype, const
octave_idx_type&, const octave_idx_type&, const octave_idx_type&,
odepkg_radau_soltype, const octave_idx_type&, const double*, const
octave_idx_type&, const octave_idx_type*, const octave_idx_type&, const
double*, const octave_idx_type*, const octave_idx_type&)'
F77_RET_T F77_FUNC (radau, RADAU)
^
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave/config.h:92:29:
note: in definition of macro 'F77_FUNC'
#define F77_FUNC(name,NAME) name ## _
^
odepkg_octsolver_radau.cc:663:16: warning: 'Octave_map' is deprecated
(declared at
C:\Octave\Octave64-3.9.0+\include\octave-3.9.0+\octave/oct-map.h:484)
[-Wdeprecated-declarations]
Octave_map vretmap;
^
make: *** [odepkg_octsolver_radau.o] Error 1
make: Leaving directory `/tmp/oct-6/odepkg/src'
>>
All of these installation failures seem to be related to some int
conversion.
Perhaps it is due to changes in version 3.9.0+? I don't know.
Philip
----
On running with 1 4.1.0+ version, I get errors pretty quickly:
try_install ('struct-1.0.10.tar.gz')
structcat.cc:28:8: error: 'Octave_map' does not name a type
static Octave_map
^
structcat.cc: In function 'octave_value_list Fstructcat(const
octave_value_list&, int)':
structcat.cc:82:3: error: 'Octave_map' was not declared in this scope
Octave_map retval;
^
structcat.cc:143:8: error: 'retval' was not declared in this scope
retval = structcat_op_fcn (retval, args(i).map_value (),
^
structcat.cc:144:24: error: 'structcat_op_fcn' was not declared in this
scope
dv, ra_idx, fillv);
^
structcat.cc:150:24: error: 'retval' was not declared in this scope
return octave_value (retval);
octave_map is removed in 4.1.0 isnt it?
http://hg.savannah.gnu.org/hgweb/octave/rev/4c064d3d2750