We have installed openldap along with PADL's nss_ldap and pam_ldap on a couple of Solaris 10 machines. These connect to an openldap server for authentication and nsswitch functions. Everything mostly works, except that certain utilities, like top and ps, do not translate uids into usernames, and we see errors like this in syslog:

Sep 9 10:16:29 nber6 top[435]: [ID 293258 user.warning] libsldap: Status: 2 Mesg: Unable to load configuration '/var/ldap/ldap_client_file' ('').

Now this is particularly surprising as looking at top and ps with ldd, they do not seem to be linked to libsldap at all. Not only that, but when we replaced /usr/lib/libsldap.so.1 with a symlink to the openldap libldap.so, nothing happened! (also, nothing else broke, which is nice).

There is still /usr/lib/sparcv9/libsldap.so which we have not yet touched, but surely a 32-bit compiled executable like top or ps will not get there?

Has anyone seen this situation before?

It is possible that our understanding of how dynamically linked executables work under Solaris is flawed. How is it possible for top or ps to end up calling libsldap in this situation?

I should also mention that we have replaced Solaris's libldap with symlinks to openldap's libldap everywhere it appears. We also disabled the name service cache (nsdc) and the native solaris ldap_cachemgr.

Thank you for any pointers,

--
  - Alex Aminoff
    BaseSpace.net
    National Bureau of Economic Research (nber.org)

Reply via email to