I use db 4.3.27 with openldap 2.2.20 (required) so I've done a new ebuild and I've ported a couple of patches. Reproducible: Always Steps to Reproduce: 1. 2. 3.
Created attachment 50178 [details] db-4.3.27
Created attachment 50179 [details, diff] db-4.3-jarlocation.patch
Created attachment 50180 [details, diff] db-4.3.27-fix-dep-link.patch
Created attachment 50181 [details] db-4.3.27.ebuild
SLOT="4.3"? wonder if all the packages depend on sys-libs/db will fall over.
Many might fall over because they don't recognize db-4.3
this is what I have: # equery l -i db [ Searching for package 'db' in all categories among: ] * installed packages [I--] [ ] sys-libs/db-4.2.52_p2 (4.2) [I--] [ ] sys-libs/db-1.85-r2 (1) [I--] [ ] sys-libs/db-3.2.9-r10 (3) [I--] [ ] sys-libs/db-4.3.27 (4.3) I installed db-3.2 just to test, not that I needed, the point is it could be laying around on our users system. before: # ldd -r /usr/lib/sasl2/libsasldb.so linux-gate.so.1 => (0xffffe000) libresolv.so.2 => /lib/libresolv.so.2 (0xb7fcc000) libdb-4.2.so => /usr/lib/libdb-4.2.so (0xb7efc000) libc.so.6 => /lib/libc.so.6 (0xb7de7000) /lib/ld-linux.so.2 (0x80000000) after: emerge '=db-4.3.27'; emerge cyrus-sasl # ldd -r /usr/lib/sasl2/libsasldb.so linux-gate.so.1 => (0xffffe000) libresolv.so.2 => /lib/libresolv.so.2 (0xb7fcc000) libdb-3.2.so => /usr/lib/libdb-3.2.so (0xb7f51000) libdb-4.3.so => /usr/lib/libdb-4.3.so (0xb7e73000) libc.so.6 => /lib/libc.so.6 (0xb7d5e000) /lib/ld-linux.so.2 (0x80000000) it links to /usr/lib/libdb-3.2.so I don't have a clue why yet. I'll try some other package.
the problem seems to be the side affect of removing "--with-uniquename" (wonder why in this version, --with-uniquename incompatble with other --with --use). BTW, I emerged cyrus-imapd and it linked to libdb-3.2.so instead. # ldd -r /usr/lib/cyrus/imapd linux-gate.so.1 => (0xffffe000) libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7fbb000) libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0xb7f8b000) libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7e97000) libresolv.so.2 => /lib/libresolv.so.2 (0xb7e84000) libdb-3.2.so => /usr/lib/libdb-3.2.so (0xb7e09000) libwrap.so.0 => /lib/libwrap.so.0 (0xb7e01000) libnsl.so.1 => /lib/libnsl.so.1 (0xb7deb000) libc.so.6 => /lib/libc.so.6 (0xb7cd6000) libdl.so.2 => /lib/libdl.so.2 (0xb7cd2000) /lib/ld-linux.so.2 (0xb7feb000) # ls -l /usr/include/db.h lrwxrwxrwx 1 root root 10 Feb 2 10:14 /usr/include/db.h -> db4.3/db.h
They probably want to phase out --with-unique-name. However this means that no app may be linked against more than one db version. As that situation can easilly occur, --with-unique-name is enabled by default. Maybe this could be done better with linker version scripts. When I've got time I'll look into that.
...just some additional infos: - openldap-2.2.23 works fine also with db-4.2.52_p2 - I've tried db-4.2.52_p2 on 6 production servers (no db-4.1.xx) and all works like a charm - I think we can consider also applying this patch to db-4.2.52_p2 http://www.stanford.edu/services/directory/openldap/configuration/patches/db/bdb-transactions.diff and the related openldap patch to openldap (http://www.stanford.edu/services/directory/openldap/configuration/patches/openldap/ol-transactions.diff) I've not seen side effect on these changes.
This version has been in the tree now for a looooong time. Btw. any idea what the fix-dep-location patch does. It doesn't apply to 4.4, and I want to see whether it should be ported.