[Ecls-list] Missing RPATH when linking ecl_min
Matthew Mondor
mm_lists at pulsar-zone.net
Tue Jan 25 01:05:44 UTC 2011
Hello again,
If using the following configure options:
./configure --prefix=/usr/local/ecl --enable-unicode --enable-threads --with-__thread=no --enable-rpath --with-clx
ecl_min is linked as follows:
if [ -f CROSS-COMPILER ]; then touch ecl_min; else gcc -g -o ecl_min cinit.o c/all_symbols.o -L./ libeclmin.a -leclatomic -leclgc -leclgmp -lpthread -lm; fi
Which seems fine as there's no external library dependency other than
phtread, libc and libm, which do not require an RPATH to be found on
most systems. There also seems to be an internal libffi dependency but
that is linked statically.
However, if I try to build with system gmp and boehm-gc, ecl_min gets
linked as follows:
./configure --prefix=/usr/local/ecl --enable-unicode --enable-threads --with-__thread=no --enable-rpath --with-clx --enable-boehm=system --with-system-gmp --with-gmp-prefix=/usr/pkg [this last part was only tried after the first failure without it --with-dffi=NO]
if [ -f CROSS-COMPILER ]; then touch ecl_min; else gcc -g -L/usr/pkg/lib -o ecl_min cinit.o c/all_symbols.o -L./ libeclmin.a -leclatomic -lffi -lgmp -lgc -lpthread -lm; fi
Because -L is allright, linking succeeds. However, because RPATH is
missing, ecl_min invokation fails when trying to dynamically link
libffi. BTW, I also tried disabling libffi support using
--with-dffi=NO but it didn't remove dependency on libffi either. I
suppose that runtime linking would also have failed on libgmp and
libgc, which in my case are all under /usr/pkg/lib.
Should I explicitely add an RPATH declaration to LDFLAGS myself, or is
this a bug where the ecl_min bootstrap should do it?
Thanks,
--
Matt
More information about the ecl-devel
mailing list