octave-maintainers
[Top][All Lists]
Advanced

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

Re: FYI:gcc-4.9.3


From: Philip Nienhuis
Subject: Re: FYI:gcc-4.9.3
Date: Wed, 1 Jul 2015 04:48:54 -0700 (PDT)

tmacchant wrote
> ----- Original Message -----
> 
>> From: Philip Nienhuis 
>> To: Tatsuro MATSUOKA; Philip Nienhuis ; "octave-maintainers
>> Cc: 
>> Date: 2015/7/1, Wed 15:02
>> Subject: Re: FYI:gcc-4.9.3
>> 
>> Hi Tatsu,
>> 
>> Tatsuro MATSUOKA wrote:
>>>  ----- Original Message -----
>>> 
>>>>  From: Philip Nienhuis
>>>>  To: octave-maintainers
>>>>  Cc:
>>>>  Date: 2015/7/1, Wed 04:58
>>>>  Subject: RE: FYI:gcc-4.9.3
>>>> 
>>>>  Ever since it turned out that returning to 4.9.2 again broke 64-bit
>>>>  mkoctfile on Windows I make my MXE builds using gcc-5.1.0 - since then 
>> I
>>>>  never had problem with building packages on the Windows side (keeping
>>>>  fingers crossed, of course).
>> 
> <snip>
>>>  Is the above related to --enable-64?
>>>  Is the above *not* related  to --enable-windows-64?
>> 
>> Both.
>> As --enable-windows-64 is implicitly set with --enable-64 one can say
>> that it is 
>> the former that makes the difference.
>> 
>>>  I have build mxe-octave middle of June with --enable-windows-64 bundled
>>> gcc 
>> is 4.9.2.
>> :
>> 
> <snip>
>> :
>>>  I could build octave-forge packages using build_packages.m
>> 
>> Building is not the issue.  What happemed is that "natively" built 
>> binary modules (.oct files) were miscompiled.  See bug #44662 and bug
>> #44998
>> 
>> Try the following with gcc-4.9.2 --enable-windows-64 Octave builds:
>> 
>> - cell2scv (io package) with any .csv file => crashes and takes Octave
>> with 
>> it. csv2cell, csvconcat and csvexplode => also make Octave crash.
>> 
>> - windows package, if you have MS-Office installed:
>> app = actxserver ("Excel.Application")  ## Starts Excel in backgrond
>> app.Quit ()                             ## closes Excel's workbook
>> delete (app)                            ## shuts Excel down
>> 
>> At app.Quit(), Octave crashes.
>> With LibreOffice I got similar crashes here - LO can be started similarly
>> using 
>> COM if one has the LibreOffice ActiveX component installed, along the way
>> of
>> app = actxserver ("com.sun.star.ServiceManager")
>> ... followed by a series of other VB script (StarBasic) commands that I 
>> haven't got handy ATM.
>> 
>> AFAIR JohnD had a few other examples.
>> 
>> Philip
> 
> 
> OK. I have confirmed the hangup using csv2cell and cell2csv.  
> 
> The issue seems be gcc-4.9.2 (mingw-64) generated by mxe-octave is buggy.
> 
> I have uninstalled io package.
> 
> And set PATH to use gcc-4.9.2 (release 3) from mingw-64 project (mingw
> native build).
>>> setenv('PATH',['C:\msys64\mingw64\bin;' getenv('PATH')])
> 
> 
>>> system('gcc -v')
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=C:/msys64/mingw64/libexec/gcc/x86_64-w64-mingw32/4.9.2/lto-wrapper.exe
> Target: x86_64-w64-mingw32
> Configured with: ../../../src/gcc-4.9.2/configure
> --host=x86_64-w64-mingw32 --build=x86_64-w64-m
> ingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64
> --with-sysroot=/c/mingw492/x86_64-492-win32
> -seh-rt_v4-rev3/mingw64
> --with-gxx-include-dir=/mingw64/x86_64-w64-mingw32/include/c++ --enable-
> shared --enable-static --disable-multilib
> --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto
> --enable-libstdcxx-time=yes --enable-threads=win32 --enable-libgomp
> --enable-libatomic --enable-
> lto --enable-graphite --enable-checking=release
> --enable-fully-dynamic-string --enable-version-s
> pecific-runtime-libs --disable-isl-version-check
> --disable-cloog-version-check --disable-libstdc
> xx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath
> --disable-win32-registry --d
> isable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld
> --with-arch=nocona --w
> ith-tune=core2 --with-libiconv --with-system-zlib
> --with-gmp=/c/mingw492/prerequisites/x86_64-w6
> 4-mingw32-static
> --with-mpfr=/c/mingw492/prerequisites/x86_64-w64-mingw32-static
> --with-mpc=/c/m
> ingw492/prerequisites/x86_64-w64-mingw32-static
> --with-isl=/c/mingw492/prerequisites/x86_64-w64-
> mingw32-static
> --with-cloog=/c/mingw492/prerequisites/x86_64-w64-mingw32-static
> --enable-cloog-b
> ackend=isl --with-pkgversion='x86_64-win32-seh-rev3, Built by MinGW-W64
> project' --with-bugurl=h
> ttp://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe
> -I/c/mingw492/x86_64-492-win32-seh-rt
> _v4-rev3/mingw64/opt/include
> -I/c/mingw492/prerequisites/x86_64-zlib-static/include -I/c/mingw49
> 2/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe
> -I/c/mingw492/x86_64-492-
> win32-seh-rt_v4-rev3/mingw64/opt/include
> -I/c/mingw492/prerequisites/x86_64-zlib-static/include
> -I/c/mingw492/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=
> LDFLAGS='-pipe -L/c/min
> gw492/x86_64-492-win32-seh-rt_v4-rev3/mingw64/opt/lib
> -L/c/mingw492/prerequisites/x86_64-zlib-st
> atic/lib -L/c/mingw492/prerequisites/x86_64-w64-mingw32-static/lib '
> Thread model: win32
> gcc version 4.9.2 (x86_64-win32-seh-rev3, Built by MinGW-W64 project)
> 
> And rebuild io package using it.
> 
>>> cd E:\usr\Tatsu\program\Octave\test4.0\64bit
>>> C=csv2cell('test.csv')
> C =
> {
>   [1,1] =  1
>   [2,1] =  4
>   [3,1] =  7
>   [1,2] =  2
>   [2,2] =  5
>   [3,2] =  8
>   [1,3] =  3
>   [2,3] =  6
>   [3,3] =  9
> }
>>> cell2csv('test2.csv',C)
> 
> Both csv2cell and cell2csv seems to work correctly.
> Perhaps cross built of MinGW gcc-4.9.2 (64 bit) by mxe-octave is buggy but
> not gcc-4.9.2 MinGW (64bit) itself.

Exactly, that is what JohnD and I concluded.

I suppose JWE has good reasons to want to stick to gcc-4.9.2 (see here:
http://octave.1599824.n4.nabble.com/GCC-5-1-0-in-mxe-octave-tt4670276.html
),
but for the time being that precludes building reliable 64-bit MXE
installers.

Philip




--
View this message in context: 
http://octave.1599824.n4.nabble.com/FYI-gcc-4-9-3-tp4671271p4671311.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.



reply via email to

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