Bug 110055
Summary: | slapd fails after glibc update | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Xenofon Papadopoulos <adepali> |
Component: | glibc | Assignee: | Jakub Jelinek <jakub> |
Status: | CLOSED WORKSFORME | QA Contact: | Brian Brock <bbrock> |
Severity: | low | Docs Contact: | |
Priority: | medium | ||
Version: | 9 | CC: | drepper, fweimer |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2003-11-18 07:35:49 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Xenofon Papadopoulos
2003-11-14 15:40:43 UTC
This symbol is defined in libldap. Check that this is the case. Look at the output of ldd /usr/sbin/slapd to see which DSOs are loaded, make sure no code which doesn't come with the OS is used. Then run LD_DEBUG=all LD_DEBUG_OUTPUT=/tmp/some-file /usr/sbin/slapd ARGS... Determine the ARGS the script passes by observing what bash -x /etc/init.d/ldap start prints (is it /etc/init.d/slapd in RHL9? It's ldap in FC1 and I have no more RHL9 machine to check). I can't check it anymore, I moved back to glibc-2.3.2-11.9 on friday and the problem was solved. Well, what do you expect me to do then? There are many thousand people who also have no problems. It must be something with your local configuration. If you want to provide the info I asked for, please reopen the bug and add the info here. Sorry for coming back to this, but openldap keeps breaking whenever I install glibc-2.3.2-27.9.7. I installed openldap-2.0.27-8 using the rpm, so no custom stuff there. Here's the output of LD_DEBUG whenever i do slapd init: [...] 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/sbin/slapd 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/local/lib/libldap_r.so.2 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/local/lib/liblber.so.2 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/lib/libsasl.so.7 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/lib/libgdbm.so.2 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/libpam.so.0 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/kerberos/lib/libkrb5.so.3 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/kerberos/lib/libk5crypto.so.3 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/kerberos/lib/libcom_err.so.3 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/libssl.so.4 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/libcrypto.so.4 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/libcrypt.so.1 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/libnsl.so.1 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/libresolv.so.2 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/tls/libpthread.so.0 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/lib/libltdl.so.3 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/libdl.so.2 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/lib/libwrap.so.0 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/tls/libc.so.6 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/lib/libsasl2.so.2 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/kerberos/lib/libgssapi_krb5.so.2 1303: symbol=ldap_pvt_tls_init; lookup in file=/usr/lib/libz.so.1 1303: symbol=ldap_pvt_tls_init; lookup in file=/lib/ld-linux.so.2 1303: /usr/sbin/slapd: error: relocation error: undefined symbol: ldap_pvt_tls_init (fatal) I notice that ldd slapd displays libldap_r instead of libldap, might that be a problem? Still, it's out of the box openldap installation. /usr/local/lib/libldap_r.so.2 certainly doesn't come from the distribution. If you have incompatible shared libraries in your search path, then you can be beaten by that. What glibc-2.3.2-27.9.7 changed from older glibcs related to this is: - search system library directories in ldconfig after ld.so.conf defined ones (#98966) (to restore behaviour of ldconfig older than 1999). If you really want to have incompatible shared libraries in /usr/local, yet want to search /lib and/or /usr/lib before those libraries, you now need to say that explicitely, ie. add /lib or /usr/lib before /usr/local/lib in /etc/ld.so.conf. If /lib or /usr/lib aren't present in ld.so.conf, they are implicitely added to the end of the list. |