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