Re: SILC Client 1.1 Beta4
jayjwa <[email protected]> Tue, 22 May 2007 06:49:07 -0400
| Newsgroups | gmane.network.silc.user |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 22 May 2007, Pekka Riikonen wrote: -> : So ld, given -lsilc -> : -> : was happy grabbing /usr/local/lib/libsilc.so, -> : -> It's difficult to say why it was doing that without seeing how the -> silc-client was configured with ./configure. Both beta4 and 5 configure command was (I also used, to test only, ./configure && make in beta4, same problem) ./configure '--prefix=/usr/local' '--disable-debug' '--with-gnu-ld' '--with-etcdir=/usr/local/etc/silc' '--with-docdir=/usr/doc/silc-client-1.1-beta5' '--with-pthreads' '--with-helpdir=/usr/local/share/silc/help' '--with-perl=yes' '--with-perl-lib=site' '--with-simdir=/usr/local/share/silc/modules' Link command was: gcc -g -O2 -Wall -o silc gui-entry.o gui-expandos.o gui-printtext.o gui-readline.o gui-windows.o lastlog.o mainwindows.o mainwindow-activity.o mainwindows-layout.o statusbar.o statusbar-config.o statusbar-items.o term.o term-dummy.o tparm.o term-terminfo.o terminfo-core.o textbuffer.o textbuffer-commands.o textbuffer-reformat.o textbuffer-view.o silc.o module-formats.o -Wl,-E -Wl,--export-dynamic -Wl,--export-dynamic -Wl,--export-dynamic ../fe-common/silc/libfe_common_silc.a ../fe-common/core/libfe_common_core.a ../silc/libsilc.a ../silc/core/libsilc_core.a ../core/libcore.a ../lib-config/libirssi_config.a ../lib-popt/libpopt.a /tmp/silc-client-1.1-beta5/lib/.libs/libsilcclient.a ../perl/.libs/libperl_core_static.a ../perl/.libs/libfe_perl_static.a -L/usr/local/lib /usr/lib/perl5/5.8.8/i686-linux-thread-multi/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl5/5.8.8/i686-linux-thread-multi/CORE -lperl -lnsl -lm -lcrypt -lutil /usr/lib/libgmodule-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libncurses.so -L/tmp/silc-client-1.1-beta5/lib /usr/local/lib/libsilc.so -ldl -lpthread Notice /usr/local/lib/libsilc.so -ldl -lpthread on the end, same order as -lsilc -ldl -lpthread from Makefile.defines_int libsilc in Makefile.defines_int. Likely where '-lsilc' is coming from. Makefile.defines_int:SILC_COMMON_LIBS= -L$(silc_top_srcdir)/lib -lsilc -ldl -lpthread Makefile.defines_int.in:SILC_COMMON_LIBS= -L$(silc_top_srcdir)/lib -lsilc @LIBS@ -> If it found pkg-config files -> for the SILC libraries from your system it would use them even though they -> are too old version because current beta5 doesn't yet have a check for 1.1 -> version specifically (it doesn't check version). In this case it would -> have then linked with the libraries from your system. No silc in any *.la file, nor any pkgconfig file. Full pkgconfig path: /usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/X11R7/lib/pkgconfig /usr/local/lib/pkgconfig: symbolic link to `/usr/lib/pkgconfig' /usr/lib/pkgconfig files ao.pc apr-1.pc apr-util-1.pc atk.pc audiofile.pc autoopts.pc blkid.pc cairo-ft.pc cairo-glitz.pc cairo.pc cairo-pdf.pc cairo-png.pc cairo-ps.pc cairo-svg.pc cairo-xlib.pc cairo-xlib-xrender.pc com_err.pc devmapper-event.pc devmapper.pc e2p.pc ext2fs.pc fontconfig.pc freetype2.pc fribidi.pc fuse.pc gdk-2.0.pc gdk-pixbuf-2.0.pc gdk-pixbuf-xlib-2.0.pc gdk-x11-2.0.pc gimp-2.0.pc gimpthumb-2.0.pc gimpui-2.0.pc gkrellm.pc glib-2.0.pc gmodule-2.0.pc gmodule-export-2.0.pc gmodule-no-export-2.0.pc gnet-2.0.pc gnutls-extra.pc gnutls.pc gobject-2.0.pc gthread-2.0.pc gtk+-2.0.pc gtk+-unix-print-2.0.pc gtk+-x11-2.0.pc gutenprint.pc gutenprintui2.pc gutenprintui.pc ijs.pc ImageMagick.pc ImageMagick++.pc imlib2.pc imlibgdk.pc imlib.pc lcms.pc libart-2.0.pc libcroco-0.6.pc libcrypto.pc libcurl.pc libdaemon.pc libexif.pc libexslt.pc libgcj.pc libglade-2.0.pc libgsasl.pc libgsf-1.pc libIDL-2.0.pc libidn.pc libjs.pc libnetfilter_conntrack.pc libnfnetlink.pc libntlm.pc libole2-2.0.pc libparted.pc libpcre.pc libpixman.pc libpng12.pc libpng.pc@ libps.pc librsvg-2.0.pc libssl.pc libstartup-notification-1.0.pc libsvg-cairo.pc libsvg.pc libwpd-0.8.pc libwpd-stream-0.8.pc libxine.pc libxml-2.0.pc libxslt.pc ogg.pc openssl.pc ORBit-2.0.pc ORBit-CosNaming-2.0.pc ORBit-idl-2.0.pc ORBit-imodule-2.0.pc pangocairo.pc pangoft2.pc pango.pc pangoxft.pc pangox.pc sdl.pc ss.pc taglib.pc tre.pc uuid.pc vorbisenc.pc vorbisfile.pc vorbis.pc Wand.pc /usr/X11R7/lib/pkgconfig: (only X11 files, very long list) -> If this wasn't the case then it in fact should have taken the library from -> lib/ because there is explicit -L for the linker when compiling the -> lib/ subdirectory. In this case -Llib/ -lsilc should in fact take it from -> lib/ if lib/ was compiled. The first -L parameter adds /usr/local/lib to the search path from the command line, which then comes before default search paths. -L/tmp/silc-client-1.1-beta5/lib is actually the last path added, which makes it searched after /usr/local/lib (or whatever the first -L is set to, happens to be /usr/local/lib here). "ld" is from binutils-2.17.50.0.9, the only thing special about it is that it supports all targets ld can support. I definately should have cleaned up the old libsilc.so after it wasn't needed anymore, so this is my fault, but I wanted to post this as I figured others probably have been building version after version of silc following the development and might have themselves come upon a similar problem. _______________________________________________________________ Info: https://lists.silcnet.org/mailman/listinfo/silc-users Archive: https://lists.silcnet.org/pipermail/silc-users FAQ: http://silcnet.org/support/faq/