bad shared library ordering

Sean McNeil sean at mcneil.com
Mon Sep 13 13:22:33 PDT 2004


I have had issues with kadmin on amd64 for quite a while.  It turns out
to be an issue with library ordering.  libcrypto.so is used by kadmin. 
There is one in /usr/lib that points to /lib/libcrypto.so.3 (the correct
one) and one in /usr/local/lib which points to
/usr/local/lib/libcrypto.so.3 (comes from security/openssl).

/usr/bin/kadmin:
        libkadm5clnt.so.7 => /usr/lib/libkadm5clnt.so.7 (0x200636000)
        libkadm5srv.so.7 => /usr/lib/libkadm5srv.so.7 (0x20073f000)
        libhdb.so.7 => /usr/lib/libhdb.so.7 (0x20084d000)
        libkrb5.so.7 => /usr/lib/libkrb5.so.7 (0x200960000)
        libroken.so.7 => /usr/lib/libroken.so.7 (0x200aa9000)
        libasn1.so.7 => /usr/lib/libasn1.so.7 (0x200bb9000)
        libcrypto.so.3 => /usr/local/lib/libcrypto.so.3 (0x200ce2000)
        libcrypt.so.2 => /lib/libcrypt.so.2 (0x200f30000)
        libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x201049000)
        libreadline.so.4 => /lib/libreadline.so.4 (0x20114b000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x201285000)
        libldap-2.2.so.7 => /usr/local/lib/libldap-2.2.so.7
(0x2013e0000)
        liblber-2.2.so.7 => /usr/local/lib/liblber-2.2.so.7
(0x201519000)
        libc.so.5 => /lib/libc.so.5 (0x201628000)
        libsasl2.so.2 => /usr/local/lib/libsasl2.so.2 (0x20182c000)
        libssl.so.3 => /usr/local/lib/libssl.so.3 (0x201944000)

ldconfig -r | grep crypto shows:

        21:-lcrypto.3 => /lib/libcrypto.so.3
        258:-lcrypto.3 => /usr/local/lib/libcrypto.so.3

I do not have LD_LIBRARY_PATH or anything like that set.  Why would it
pick up the one in /usr/local/lib instead of /lib?  This would seem to
be a mistake.

If I temporarily rename the one in /usr/local/lib then kadmin doesn't
core dump on me.

Sean




More information about the freebsd-current mailing list