Re: MinGW (MXE) cross-build broken

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: MinGW (MXE) cross-build broken

Rik-4
On 10/31/2013 10:00 AM, [hidden email] wrote:
Message: 1
Date: Thu, 31 Oct 2013 02:51:02 -0700 (PDT)
From: PhilipNienhuis [hidden email]
To: [hidden email]
Subject: Re: MinGW (MXE cross-) build broken
Message-ID: [hidden email]
Content-Type: text/plain; charset=us-ascii

PhilipNienhuis wrote
> mxe-octave:   parent: 3276:7a7d2318ca93 tip   octave.mk: depend on gl2ps
> octave:           parent: 17813:0a887758d1cc tip   fix compilation of
> main.cc on Windows
> 
> 
> Since yesterday MinGW build (using mxe-octave building on Linux) breaks
> at:
> 
> :
> /bin/sh ../../libtool  --tag=CXX   --mode=compile i686-pc-mingw32-g++
> -DHAVE_CONFIG_H -I.
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft
> -I../..  -I../../libgnu
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/libgnu
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
> -mieee-fp
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include 
> -isystem /usr/include
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include/freetype2
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include 
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include 
> -g -O2 -pthread -MT Faddeeva/libcruft_la-Faddeeva.lo -MD -MP -MF
> Faddeeva/.deps/libcruft_la-Faddeeva.Tpo -c -o
> Faddeeva/libcruft_la-Faddeeva.lo `test -f 'Faddeeva/Faddeeva.cc' || echo
> '/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft/'`Faddeeva/Faddeeva.cc
> libtool: compile:  i686-pc-mingw32-g++ -DHAVE_CONFIG_H -I.
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft
> -I../.. -I../../libgnu
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/libgnu
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
> -mieee-fp
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
> -isystem /usr/include
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include/freetype2
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
> -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
> -g -O2 -pthread -MT Faddeeva/libcruft_la-Faddeeva.lo -MD -MP -MF
> Faddeeva/.deps/libcruft_la-Faddeeva.Tpo -c
> /home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft/Faddeeva/Faddeeva.cc 
> -DDLL_EXPORT -DPIC -o Faddeeva/.libs/libcruft_la-Faddeeva.o
> In file included from
> /home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft/Faddeeva/Faddeeva.cc:151:0:
> ../../config.h:3211:15: error: multiple types in one declaration
>  #define gid_t int
>                ^
> :
> <snip>
Turns out this is related to LLVM / JIT (which is now by default enabled
when building).

After adding "--enable-jit=no" to the configure flags in
mxe-octave/src/octave.mk, the build now seems to continue past the
Faddeeva.cc point.
Philip,

Should we change the default for JIT compiling on machines targeting WIN32 to be off?

--Rik


Rik, I'll try your jvm.dll cset (bug #39465) next.

Thanks,

Philip

Reply | Threaded
Open this post in threaded view
|

Re: MinGW (MXE) cross-build broken

PhilipNienhuis
Rik wrote:

>
> On 10/31/2013 10:00 AM, [hidden email] wrote:
>> Message: 1
>> Date: Thu, 31 Oct 2013 02:51:02 -0700 (PDT)
>> From: PhilipNienhuis<[hidden email]>
>> To:[hidden email]
>> Subject: Re: MinGW (MXE cross-) build broken
>> Message-ID:<[hidden email]>
>> Content-Type: text/plain; charset=us-ascii
>>
>> PhilipNienhuis wrote
>>> >  mxe-octave:   parent: 3276:7a7d2318ca93 tip   octave.mk: depend on gl2ps
>>> >  octave:           parent: 17813:0a887758d1cc tip   fix compilation of
>>> >  main.cc on Windows
>>> >
>>> >
>>> >  Since yesterday MinGW build (using mxe-octave building on Linux) breaks
>>> >  at:
>>> >
>>> >  :
>>> >  /bin/sh ../../libtool  --tag=CXX   --mode=compile i686-pc-mingw32-g++
>>> >  -DHAVE_CONFIG_H -I.
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft
>>> >  -I../..  -I../../libgnu
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/libgnu
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
>>> >  -mieee-fp
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
>>> >  -isystem /usr/include
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include/freetype2
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
>>> >  -g -O2 -pthread -MT Faddeeva/libcruft_la-Faddeeva.lo -MD -MP -MF
>>> >  Faddeeva/.deps/libcruft_la-Faddeeva.Tpo -c -o
>>> >  Faddeeva/libcruft_la-Faddeeva.lo `test -f 'Faddeeva/Faddeeva.cc' || echo
>>> >  '/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft/'`Faddeeva/Faddeeva.cc
>>> >  libtool: compile:  i686-pc-mingw32-g++ -DHAVE_CONFIG_H -I.
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft
>>> >  -I../.. -I../../libgnu
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/libgnu
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
>>> >  -mieee-fp
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
>>> >  -isystem /usr/include
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include/freetype2
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
>>> >  -I/home/philip/devel/octdev/mxe-new/mxe-octave/usr/i686-pc-mingw32/include
>>> >  -g -O2 -pthread -MT Faddeeva/libcruft_la-Faddeeva.lo -MD -MP -MF
>>> >  Faddeeva/.deps/libcruft_la-Faddeeva.Tpo -c
>>> >  /home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft/Faddeeva/Faddeeva.cc
>>> >  -DDLL_EXPORT -DPIC -o Faddeeva/.libs/libcruft_la-Faddeeva.o
>>> >  In file included from
>>> >  /home/philip/devel/octdev/mxe-new/mxe-octave/tmp-octave/octave-3.7.7+/liboctave/cruft/Faddeeva/Faddeeva.cc:151:0:
>>> >  ../../config.h:3211:15: error: multiple types in one declaration
>>> >    #define gid_t int
>>> >                  ^
>>> >  :
>>> >  <snip>
>> Turns out this is related to LLVM / JIT (which is now by default enabled
>> when building).
>>
>> After adding "--enable-jit=no" to the configure flags in
>> mxe-octave/src/octave.mk, the build now seems to continue past the
>> Faddeeva.cc point.
> Philip,
>
> Should we change the default for JIT compiling on machines targeting
> WIN32 to be off?

I'd say "not yet".
Currently I can't even get llvm (3.1) to build with mxe-octave. I'll try
3.0 (from an earlier mxe-octave version) first. And I'll investigate
whether Anirudha has managed to build a JIT-enabled Octave.

AFAICS it is easy to build w/o JIT support using mxe-octave.

Maybe building with JIT-enabled works when building natively. I'll try
that later, but it is dead slow compared to cross-compiling on Linux.

>> Rik, I'll try your jvm.dll cset (bug #39465) next.

(Cross-) builds fine & Java works on Windows. I'll report also in the
bug report.

Thanks,

Philip