Apparent libtool pkgsrc C++ linking issue
Neil Booth
neil at daikokuya.co.uk
Sun Aug 23 05:59:54 PDT 2009
Several (but not all) pkgsrc C++ packages aren't linking on my
machine. I've rebuilt and installed the world, as well as libtool.
For example, here's graphics/tiff:
/bin/sh ../libtool --tag=CXX --mode=link c++ -O2 -I/usr/include -I/usr/pkg/include -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o libtiffxx.la -rpath /usr/pkg/lib -no-undefined -version-number 3:8:2 tif_stream.lo ../libtiff/libtiff.la ../port/libport.la -ljpeg -lz -lm -lc
c++ -shared -nostdlib /usr/lib/gcc41/crti.o /usr/lib/gcc41/crtbeginS.o .libs/tif_stream.o -Wl,--whole-archive ../port/.libs/libport.a -Wl,--no-whole-archive -Wl,--rpath -Wl,/usr/obj/pkg/graphics/tiff/work/tiff-3.8.2/libtiff/.libs -Wl,--rpath -Wl,/usr/obj/pkg/graphics/tiff/work/.buildlink/lib -Wl,--rpath -Wl,/usr/pkg/lib -Wl,--rpath -Wl,/usr/obj/pkg/graphics/tiff/work/.buildlink/lib -L/usr/obj/pkg/graphics/tiff/work/.buildlink/lib ../libtiff/.libs/libtiff.so /usr/obj/pkg/graphics/tiff/work/.bu
ildlink/lib/libjpeg.so -lz -lstdc++ -lm -L/usr/lib/gcc41 -lc -lgcc_pic /usr/lib/gcc41/crtendS.o /usr/lib/gcc41/crtn.o -Wl,-R/usr/pkg/lib -Wl,-soname -Wl,libtiffxx.so.3 -o .libs/libtiffxx.so.3.8.2
g++: /usr/lib/gcc41/crti.o: No such file or directory
g++: /usr/lib/gcc41/crtn.o: No such file or directory
*** Error code 1
Stop.
bmake: stopped in /usr/obj/pkg/graphics/tiff/work/tiff-3.8.2/libtiff
There is no /usr/lib/gcc41/crti.o, like there isn't in gcc44/ or gcc34/.
The file exists in the parent directory, presumably to be shared by
all GCC versions, and sure enough if I make a softlink everything seems to
build and run fine.
But why do I need this link? What is at fault here? It seems to be
coming from libtool, but I'm curious why apparently no-one else sees
this, and I have no idea how to fix libtool.
Thanks,
Neil.
More information about the Users
mailing list