[Samba] Shared libraries not found.

Robert robertedstrom at yahoo.com
Wed Jun 8 20:29:55 GMT 2005


Hi.  I am trying to build samba 3.0.14a on an old
redhat 8 box.  I'm having a problem in which shared
libraries are not found in the smbd, nmbd and other
binaries that are produced.  The server is running
openldap and MIT kerberos with their libraries in
/usr/local/lib and include files in
/usr/local/include.  Openssl is installed in
/usr/local/ssl.  The resulting binaries look like:

--------
ldd smbd
        **libldap-2.2.so.7 => not found**
        **liblber-2.2.so.7 => not found**
        libcups.so.2 => /usr/lib/libcups.so.2
(0x4001b000)
        **libssl.so.0.9.7 => not found**
        **libcrypto.so.0.9.7 => not found**
        libnsl.so.1 => /lib/libnsl.so.1 (0x40036000)
        libcrypt.so.1 => /lib/libcrypt.so.1
(0x4004b000)
        libattr.so.1 => /lib/libattr.so.1 (0x40079000)
        libacl.so.1 => /lib/libacl.so.1 (0x4007c000)
        libresolv.so.2 => /lib/libresolv.so.2
(0x40082000)
        libdl.so.2 => /lib/libdl.so.2 (0x40094000)
        libpopt.so.0 => /usr/lib/libpopt.so.0
(0x40097000)
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2
(0x40000000)
        **libssl.so.0.9.7 => not found**
        **libcrypto.so.0.9.7 => not found**
--------

I run the configure script using a shell script that
looks like:

--------

#!/bin/bash

export CPPFLAGS="-I/usr/local/include
-I/usr/local/include/sasl
-I/usr/local/ssl/include/openssl"
export LDFLAGS="-L/usr/local/lib -L/usr/local/ssl/lib
-L/usr/local/lib/sasl2 -R/usr/local/lib
-R/usr/local/ssl/lib -R/usr/local/lib/sasl2"
export
LD_RUN_PATH="/usr/local/lib:/usr/local/ssl/lib:/usr/local/lib/sasl2"

./configure ...

--------

If I don't have the export statements at the top of
the shell script, the binaries are linked with older
versions of the ldap, kerberos and ssl libraries.

If I add the /usr/local/lib directory to the
/etc/ld.so.conf file and run ldconfig, the binary
shows up like this:

--------
ldd smbd
        libldap-2.2.so.7 =>
/usr/local/lib/libldap-2.2.so.7 (0x4001a000)
        liblber-2.2.so.7 =>
/usr/local/lib/liblber-2.2.so.7 (0x40048000)
        libcups.so.2 => /usr/lib/libcups.so.2
(0x40054000)
        libssl.so.0.9.7 =>
/usr/local/ssl/lib/libssl.so.0.9.7 (0x4006f000)
        libcrypto.so.0.9.7 =>
/usr/local/ssl/lib/libcrypto.so.0.9.7 (0x4009f000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x40197000)
        libcrypt.so.1 => /lib/libcrypt.so.1
(0x401ac000)
        libattr.so.1 => /lib/libattr.so.1 (0x401da000)
        libacl.so.1 => /lib/libacl.so.1 (0x401dd000)
        libresolv.so.2 => /lib/libresolv.so.2
(0x401e3000)
        libdl.so.2 => /lib/libdl.so.2 (0x401f5000)
        libpopt.so.0 => /usr/lib/libpopt.so.0
(0x401f8000)
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        libsasl2.so.2 => /usr/local/lib/libsasl2.so.2
(0x40201000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2
(0x40000000)
--------

and samba functions correctly.  Can someone please
tell me how to fix this issue without having to add
/usr/local/lib to /etc/ld.so.conf or is it at all
possible?  Why doesn't the path "stick" to the binary?

I have also tried setting LD_LIBRARY_PATH before the
configure script is run, but it does not seem to make
a difference.

Thanks in advance,
Bob.

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the samba mailing list