Quantcast

MXE and problems adding in llvm and Java

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

MXE and problems adding in llvm and Java

PhilipNienhuis
This weekend I had some time to experiment with the MXE builds. Here's a progress report.

When following the "official" procedure (make dist etc, see
https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2013-March/032395.html
a Windows build of Octave is produced which -AFAICS- works without obvious glitches (e.g., the stability of e.g. the GUI isn't worse than under Linux, and I find the GUI already quite acceptable).

llvm is built, but not used (yet?). John reported about (unspecified) problems with Java support. So I tried to get llvm and Java into the build, but that gives some -for me- untractable problems and build errors.

Both Java and llvm should be enabled by editing mxe-octave/src/octave.mk and adding in the lines:

--enable-jit \
--with-java-homedir=/mnt/winxp/Programs/Java/jdk1.6.0_33 \
--with-java-libdir=/mnt/winxp/Programs/Java/jdk1.6.0_33/jre/bin/client \

in the relevant configure command section.
(Note the Java entries are valid for my (Windows/Linux/eComstation (OS/2) multiboot) machine and must point to a Windows-based Java installation. The location of jvm.dll on Windows wasn't obvious for for at least MXE configure so must be manually added).

Now, if either or both of llvm and Java are enabled the build errors out (see bottom of mail).
To me it looks like there's corruption (overflow?) - but who am I. Yet with just Java, or just llvm, or both enabled, the location where the build errors out looks consistent AFAICS.
If I remove the extra lines in octave.mk the build proceeds normally.

Philip

:
libtool: link: i686-pc-mingw32-g++ -shared -nostdlib /home/philip/devel/octdev/mxe/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/lib/dllcrt2.o /home/philip/devel/octdev/mxe/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/crtbegin.o  dldfcn/.libs/dldfcn___delaunayn___la-__delaunayn__.o   -L/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/.build/liboctave/.libs ./.libs/liboctinterp.dll.a -L/home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib -L/home/philip/devel/octdev/mxe/mxe-octave/tmp-gcc/gcc-4.7.2.build/i686-pc-mingw32/winsup/mingw -L/home/philip/devel/octdev/mxe/mxe-octave/tmp-gcc/gcc-4.7.2.build/i686-pc-mingw32/winsup/w32api/lib -L/home/philip/devel/octdev/mxe/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2 /home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/.build/liboctave/.libs/liboctave.dll.a /home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib/libhdf5.dll.a -lz /home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib/libfontconfig.dll.a -lfreetype /home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib/libexpat.dll.a -lopengl32 -lglu32 ../liboctave/.libs/liboctave.dll.a -lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -larpack /home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib/libqrupdate.dll.a /home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib/libfftw3.dll.a /home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib/libfftw3f.dll.a -llapack -lblas -lreadline -ltermcap /home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib/libpcre.dll.a /home/philip/devel/octdev/mxe/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/libgfortran.dll.a /home/philip/devel/octdev/mxe/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/libquadmath.dll.a /home/philip/devel/octdev/mxe/mxe-octave/usr/i686-pc-mingw32/lib/libqhull.dll.a -luser32 -lkernel32 -lgdi32 -lws2_32 -luser32 -lkernel32 -L/home/philip/devel/octdev/mxe/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/../../../../i686-pc-mingw32/lib /home/philip/devel/octdev/mxe/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/libstdc++.dll.a -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt /home/philip/devel/octdev/mxe/mxe-octave/usr/lib/gcc/i686-pc-mingw32/4.7.2/crtend.o   -mieee-fp -O2 -pthread   -pthread -o dldfcn/.libs/__delaunayn__.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker dldfcn/.libs/__delaunayn__.dll.a
dldfcn/.libs/__dsearchn__.o: In function `~octave_base_value':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/octave-value/ov-base.h:211: undefined reference to `vtable for octave_base_value'
dldfcn/.libs/__dsearchn__.o: In function `G__dsearchn__':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__dsearchn__.cc:37: undefined reference to `check_version(std::string const&, std::string const&)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__dsearchn__.cc:37: undefined reference to `error_state'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__dsearchn__.cc:37: undefined reference to `octave_dld_function::create(octave_value_list (*)(octave_value_list const&, int), octave_shlib const&, std::string const&, std::string const&)'
dldfcn/.libs/__dsearchn__.o: In function `Z13F__dsearchn__RK17octave_value_listi':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__dsearchn__.cc:48: undefined reference to `print_usage()'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__dsearchn__.cc:55: undefined reference to `error_state'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__dsearchn__.cc:58: undefined reference to `error(char const*, ...)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__dsearchn__.cc:104: undefined reference to `octave_value::octave_value(ColumnVector const&)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__dsearchn__.cc:105: undefined reference to `octave_value::octave_value(ColumnVector const&)'
dldfcn/.libs/__dsearchn__.o: In function `ZN17octave_value_list6resizeEiRK12octave_value':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/interp-core/oct-obj.h:96: undefined reference to `Array<octave_value>::resize(dim_vector const&, octave_value const&)'
dldfcn/.libs/__dsearchn__.o: In function `octave_base_value':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/octave-value/ov-base.h:207: undefined reference to `vtable for octave_base_value'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/octave-value/ov-base.h:207: undefined reference to `vtable for octave_base_value'
dldfcn/.libs/__dsearchn__.o:__dsearchn__.cc:(.rdata$_ZTV5ArrayI12octave_valueE[__ZTV5ArrayI12octave_valueE]+0x10): undefined reference to `Array<octave_value>::resize_fill_value() const'
dldfcn/.libs/dldfcn___delaunayn___la-__delaunayn__.o: In function `~octave_base_value':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/octave-value/ov-base.h:211: undefined reference to `vtable for octave_base_value'
dldfcn/.libs/dldfcn___delaunayn___la-__delaunayn__.o: In function `G__delaunayn__':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:67: undefined reference to `check_version(std::string const&, std::string const&)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:67: undefined reference to `error_state'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:67: undefined reference to `octave_dld_function::create(octave_value_list (*)(octave_value_list const&, int), octave_shlib const&, std::string const&, std::string const&)'
dldfcn/.libs/dldfcn___delaunayn___la-__delaunayn__.o: In function `Z14F__delaunayn__RK17octave_value_listi':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:79: undefined reference to `octave_value::octave_value(double)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:84: undefined reference to `print_usage()'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:196: undefined reference to `error(char const*, ...)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:206: undefined reference to `warning(char const*, ...)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:192: undefined reference to `octave_value::octave_value(Matrix const&, MatrixType const&)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:216: undefined reference to `octave_value::octave_value(RowVector const&)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:168: undefined reference to `error(char const*, ...)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:145: undefined reference to `error(char const*, ...)'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/dldfcn/__delaunayn__.cc:115: undefined reference to `error(char const*, ...)'
dldfcn/.libs/dldfcn___delaunayn___la-__delaunayn__.o: In function `ZN17octave_value_list6resizeEiRK12octave_value':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/interp-core/oct-obj.h:96: undefined reference to `Array<octave_value>::resize(dim_vector const&, octave_value const&)'
dldfcn/.libs/dldfcn___delaunayn___la-__delaunayn__.o: In function `octave_base_value':
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/octave-value/ov-base.h:207: undefined reference to `vtable for octave_base_value'
/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/libinterp/octave-value/ov-base.h:207: undefined reference to `vtable for octave_base_value'
dldfcn/.libs/dldfcn___delaunayn___la-__delaunayn__.o:__delaunayn__.cc:(.rdata$_ZTV5ArrayI12octave_valueE[__ZTV5ArrayI12octave_valueE]+0x10): undefined reference to `Array<octave_value>::resize_fill_value() const'
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
make[5]: *** [dldfcn/__dsearchn__.la] Error 1
make[5]: *** Waiting for unfinished jobs....
make[5]: *** [dldfcn/__delaunayn__.la] Error 1
make[5]: Leaving directory `/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/.build/libinterp'
make[4]: *** [install] Error 2
make[4]: Leaving directory `/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/.build/libinterp'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/.build'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/home/philip/devel/octdev/mxe/mxe-octave/tmp-octave/octave-3.7.2+/.build'
make[1]: *** [build-only-octave] Error 2
make[1]: Leaving directory `/home/philip/devel/octdev/mxe/mxe-octave'

real    31m47.040s
user    55m37.141s
sys     2m17.182s
[philip@deskprn 20130303_224605]$


Loading...