Loren M. Lang wrote: > Loren M. Lang wrote: >> Now I am installing ruby18-iconv onto my linux box using pkgsrc. >> ruby18-base is already installed and working properly, but when >> ruby18-iconv tries to install, the configure stage fails to find iconv >> in the standard C library: >> >> ===> Running extconf.rb to configure >> checking for iconv()... no >> checking for iconv() in -liconv... no >> *** extconf.rb failed *** >> >> Examining mkmf.log reveals that it is reallyt failing to find the db4 >> library when it links the test program. I installed db4 from pkgsrc >> earlier and several other programs that depend on it with success. The >> log file shows: >> >> "gcc -o conftest -I. -I/usr/pkg/lib/ruby/1.8/i386-linux >> -I/usr/pkg/include/db4 -I/usr/pkg/include -O2 -I/usr/pkg/include/db4 >> -I/usr/pkg/include -fPIC conftest.c -L'/usr/pkg/lib' >> -Wl,-R'/usr/pkg/lib' -L'/usr/pkg/lib' -Wl,-R'/usr/pkg/lib' >> -lruby18-static -ldl -lcrypt -lm -ldb4 -lc" >> /usr/bin/ld: cannot find -ldb4 >> collect2: ld returned 1 exit status >> checked program was: >> /* begin */ >> >> #include <iconv.h> >> >> /*top*/ >> int main() { return 0; } >> int t() { void ((*volatile p)()); p = (void ((*)()))iconv; return 0; } >> /* end */ >> >> It fails to find db4, but -L'/usr/pkg/lib' was provided as an argument >> to gcc and libdb4.so exists under /usr/pkg/lib. I did run a bmake clean >> this time. > > BTW, I ran the test by hand and it compiled successfully from the same > shell I ran bmake clean && bmake install in. Hmm, I must not understand how pkgsrc interacts with libttool, but I just looked at .work.log and found the problem command: (cmd-sink) pop: -L/home/sttng359/pkgsrc/converters/ruby-iconv/work/.buildlink/lib <.> /home/sttng359/pkgsrc/converters/ruby-iconv/work/.gcc/bin/gcc -o conftest -I. -I/home/sttng359/pkgsrc/converters/ruby-iconv/work/.buildlink/lib/ruby/1.8/i386-linux -I/home/sttng359/pkgsrc/converters/ruby-iconv/work/.buildlink/include/db4 -I/home/sttng359/pkgsrc/converters/ruby-iconv/work/.buildlink/include -O2 -fPIC conftest.c -L/home/sttng359/pkgsrc/converters/ruby-iconv/work/.buildlink/lib -Wl,-R/usr/pkg/lib -lruby18-static -ldl -lcrypt -lm -ldb4 -lc The command contains -Wl,-R/usr/pkg/lib, but no -L/usr/pkg/lib. Why does this differ from what the configure script claims it ran which did include -L/usr/pkg/lib? For whatever reason, libtool (I think) doesn't seem to think it needs it. There is no installed .la if that make a difference. My system does have libdb-4.0 installed in the base system with a .a, .so, and .la file; but I don't think that that's the problem. BTW, I also just had a similar with subversion-base failing to install because it can't find libgssapi.so which is installed under /usr/pkg/lib and does contain a .la file. It seems to be a similar problem with libtool removing the -L/usr/pkg/lib argument supplied to it. > > > -- Loren M. Lang lorenl%alzatex.com@localhost http://www.alzatex.com/ Public Key: ftp://ftp.tallye.com/pub/lorenl_pubkey.asc Fingerprint: CEE1 AAE2 F66C 59B5 34CA C415 6D35 E847 0118 A3D2
Attachment:
signature.asc
Description: OpenPGP digital signature