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