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