I've been trying to build polyML 5.5.2 from the SVN trunk and getting a link error:
./configure --enable-shared
... configure: creating ./config.status config.status: creating include/Makefile config.status: creating include/ffi.h config.status: creating Makefile config.status: creating testsuite/Makefile config.status: creating man/Makefile config.status: creating libffi.pc config.status: creating fficonfig.h config.status: linking src/x86/ffitarget.h to include/ffitarget.h config.status: executing buildir commands config.status: skipping top_srcdir/Makefile - not created config.status: executing depfiles commands config.status: executing libtool commands config.status: executing include commands config.status: executing src commands
make
make all-recursive make[1]: Entering directory `/home/yongkiam/polymltrunk/polyml' ... mv -f .deps/elfexport.Tpo .deps/elfexport.Plo /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -I../libffi/include -MT unix_specific.lo -MD -MP -MF .deps/unix_specific.Tpo -c -o unix_specific.lo unix_specific.cpp libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -I../libffi/include -MT unix_specific.lo -MD -MP -MF .deps/unix_specific.Tpo -c unix_specific.cpp -fPIC -DPIC -o .libs/unix_specific.o libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -Wall -O3 -I../libffi/include -MT unix_specific.lo -MD -MP -MF .deps/unix_specific.Tpo -c unix_specific.cpp -o unix_specific.o
/dev/null 2>&1
mv -f .deps/unix_specific.Tpo .deps/unix_specific.Plo /bin/bash ../libtool --tag=CXX --mode=link g++ -O3 -I../libffi/include -version-info 6:0:0 -o libpolyml.la -rpath /usr/local/lib arb.lo basicio.lo bitmap.lo check_objects.lo diagnostics.lo errors.lo exporter.lo foreign.lo gc.lo gc_check_weak_ref.lo gc_copy_phase.lo gc_mark_phase.lo gc_share_phase.lo gc_update_phase.lo gctaskfarm.lo heapsizing.lo locking.lo memmgr.lo mpoly.lo network.lo objsize.lo osmem.lo pexport.lo poly_specific.lo polystring.lo process_env.lo processes.lo profiling.lo quick_gc.lo realconv.lo reals.lo rts_module.lo run_time.lo save_vec.lo savestate.lo scanaddrs.lo sharedata.lo sighandler.lo statistics.lo timing.lo xwindows.lo x86_dep.lo x86asmtemp.lo elfexport.lo unix_specific.lo ../libffi/libffi_convenience.la -lpthread -lm -ldl -lstdc++ -lgcc_s -lgcc libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbeginS.o .libs/arb.o .libs/basicio.o .libs/bitmap.o .libs/check_objects.o .libs/diagnostics.o .libs/errors.o .libs/exporter.o .libs/foreign.o .libs/gc.o .libs/gc_check_weak_ref.o .libs/gc_copy_phase.o .libs/gc_mark_phase.o .libs/gc_share_phase.o .libs/gc_update_phase.o .libs/gctaskfarm.o .libs/heapsizing.o .libs/locking.o .libs/memmgr.o .libs/mpoly.o .libs/network.o .libs/objsize.o .libs/osmem.o .libs/pexport.o .libs/poly_specific.o .libs/polystring.o .libs/process_env.o .libs/processes.o .libs/profiling.o .libs/quick_gc.o .libs/realconv.o .libs/reals.o .libs/rts_module.o .libs/run_time.o .libs/save_vec.o .libs/savestate.o .libs/scanaddrs.o .libs/sharedata.o .libs/sighandler.o .libs/statistics.o .libs/timing.o .libs/xwindows.o .libs/x86_dep.o .libs/x86asmtemp.o .libs/elfexport.o .libs/unix_specific.o -Wl,--whole-archive ../libffi/.libs/libffi_convenience.a -Wl,--no-whole-archive -lpthread -ldl -lgcc -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.8/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o -O3 -Wl,-soname -Wl,libpolyml.so.6 -o .libs/libpolyml.so.6.0.0 /usr/bin/ld: .libs/x86asmtemp.o: relocation R_X86_64_PC32 against symbol `X86AsmSaveStateAndReturn' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status make[2]: *** [libpolyml.la] Error 1 make[2]: Leaving directory `/home/yongkiam/polymltrunk/polyml/libpolyml' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/yongkiam/polymltrunk/polyml' make: *** [all] Error 2
Thanks for reporting that, I've now fixed it. Do bear in mind that SVN trunk is the development version so it may well break on various platforms.
David
On 09/06/2014 10:34, Y.K. Tan wrote:
I've been trying to build polyML 5.5.2 from the SVN trunk and getting a link error:
./configure --enable-shared /usr/bin/ld: .libs/x86asmtemp.o: relocation R_X86_64_PC32 against symbol `X86AsmSaveStateAndReturn' can not be used when making a shared object;