On Sat, 24 Nov 2001, Mika Iisakkila wrote:
> Another pitfall is the Name Service Switch library. At least in Debian,
> /etc/nsswitch.conf specifies DB lookups (in addition to files) for
> services, and the daemons die because the lookup involves DB version 2,
> and the linker gets confused. Both DB 2 and DB 3 name themselves libdb.so,
> even though the versions are totally incompatible. I chased this problem
> for a better part of a day.

Either Wichert Akkerman or Ben Collins (I forget which) devised a extremely
clueful fix to that problem using weak symbols and symbolic linking, to get
both libdbs to work together.  At least in Debian unstable, libdb2 and
libdb3 coexist peacefully as long as the same library or app does not try to
link to both directly. Indirect linking (you use db3 and a lib that itself
uses db2) will work.

Do NOT try to mix db2 and db3 in Debian stable, your sanity will suffer :P

Guess what is in my nightmares regarding SASLv2 and v1.5 since the
announcement that Cyrus is going SASLv2, and the resulting increased
probability of someone clueless widely deploying packages of SASLv2?  Hint:
a lot of libraries apps like to link to, link themselves to SASL, including
the LDAP ones.

I sure hope I am afraid for no good reason. Still, I have warned the Debian
libsasl maintainer who told me he is looking into the issue, and I may well
stop my Debian cyrus packaging work for a while to try to help him get
versioned symbols in SASLv2 before it is too late.  That and fix whatever
Debian ucd-snmp broke in 4.2 that causes Cyrus not to build anymore <sigh>.

-- 
  "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
  Henrique Holschuh

Reply via email to