octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Re: [MXE MinGW] miscompiled gcc for --enable64?


From: Philip Nienhuis
Subject: Fwd: Re: [MXE MinGW] miscompiled gcc for --enable64?
Date: Tue, 09 Dec 2014 18:02:40 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 SeaMonkey/2.30

<maintainers ML re-added>

JohnD wrote:


-----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

Yes that's one of the reasons I make combined 3.9.0+/4.1.0+ builds.
Packages installed in 3.9.0+ run fine in 4.1.0+.
However, that doesn't hold for 3.8.x and 3.9.x series - there's too much
binary difference and several .m core functions have changed or been
removed.

Philip





reply via email to

[Prev in Thread] Current Thread [Next in Thread]