SILC Client 1.1 Beta4

jayjwa jayjwa at atr2.ath.cx
Tue May 22 07:37:17 CEST 2007



-> I'm not having any luck with Beta4. Beta2 seemed OK, I missed 3, but 4 will 
-> not build the silc binary (./configure && make ):

-> /tmp/silc-client-1.1-beta4/apps/irssi/src/silc/core/client_ops.c:2337: undefined reference to `silc_pkcs_get_type'
-> /tmp/silc-client-1.1-beta4/apps/irssi/src/silc/core/client_ops.c:2338: undefined reference to `silc_pkcs_get_type'
-> /tmp/silc-client-1.1-beta4/apps/irssi/src/silc/core/client_ops.c:2367: undefined reference to `silc_packet_stream_get_stream'
-> /tmp/silc-client-1.1-beta4/apps/irssi/src/silc/core/client_ops.c:2367: undefined reference to `silc_socket_stream_get_info'
-> ../silc/core/libsilc_core.a(client_ops.o): In function `silc_parse_channel_public_keys':

Today I hit this again with 1.1 Beta5, but I figured out what the problem was. 

As it turns out, either from an old silc-client or silc-server, there used to 
be a libsilc.so (I forget the version(s) ). I had this in /usr/local/lib. When 
the final silc binary is linked, it's linked with libtool, and ends up 
requesting "-lsilc". Since libsilc.so existed, you could see it at the tail 
end of the link command; I thought this odd at the time, but didn't pay any 
more attention to it.

So ld, given -lsilc 

was happy grabbing /usr/local/lib/libsilc.so, 

when in reality the binary requires

silc-client-1.1-beta5/lib/.libs/libsilc.a

While both are called "libsilc", they are vastly different. Depending on 
LDFLAGS, one or the other might be grabbed by ld. Prehaps linking with an 
explicit path would have fixed it also, but simply killing off libsilc.* from 
usr/local/lib fixed the problem. Neither my current silc or silcd seem to 
require these.




More information about the silc-users mailing list