Re: sasl and db2
On Sat, 03 Nov 2001, Herbert Xu wrote:
> libsasl7 is linked against libdb2. Let's consider an application that's
> linked to both libsasl7 and libdb2, e.g., exim. Here comes libdb3, which
> cannot be loaded in the same process as libdb2 due to name space conflicts.
> If you link libsasl7 against libdb3, this will break any applications
> linked against the old libsasl7 and libdb2 since it will now try to load
> both db2 and db3 in the same process.
I just compiled cyrus2 for unstable, and it links to db3 and libsasl7. This
causes the cyrus2 binaries to end up linking to db3 and db2. No obvious
segfaults, and everything seems to be working fine. Maybe I just need to
test more, but so far, every library in the chain seems to be dynamically
linked to the db# it should: cyrus to db3, sasl to db2 (and glibc to db2 for
the nss things, I think).
This is, however, not the same as something that was originally linked to
db2 and sasl and now finds itself liked to db2 while sasl is linked to
db3... I don't know if the order will matter, here.
> Thus you must change libsasl's soname when you link it against a new
> db library. Since this requires coordination between the various Linux
> distributions, it is definitely not an easy thing to do.
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot