On Wed, 2005-07-20 at 15:17, Torrey McMahon wrote: > Which is a bad thing why? (Please don't say space.)
Lets take a real example which was discussed this week at Sun, the same thing can be applies to other libraries. libldap is in /usr/lib and is linked to the NSS/NSPR libraries so it can get SSL support. So lets say that we have a program that uses a different copy of the NSS/NSPR libraries either a private copy or one from /usr/sfw or /opt/csw directly. That same program also uses libldap indirectly because it does a getpwnam() call and the system is configured with LDAP as the nsswitch backend for passwd, or it may use it directly. This causes multiple copies of the same library to be requested by a single process. If the binaries are identical then there aren't any problems, but then if they are identical why are their multiple copies. If they aren't identical it depends on how things were linked, how the runtime execution pans out. This is a real problem when multiple copies of the same interface get dragged into a single processes. We had real crashes because of this exact problem with evolution in Solaris 10. [ Aside note: the particular case of an indirect use of libldap via getpwnam() is mitigated in the default install since the nss_ldap/libldap calls actually happen inside nscd(1m), but the theory still applies, and in practise it applies to anything that nscd doesn't cache ]. -- Darren J Moffat _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org