[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