(Illustration by Gaich Muramatsu)
>>>>> "Jan" == Jan Harkes <jaharkes_at_cs.cmu.edu> writes: Jan> I don't know where debian's libdb1.85 compatible library went Jan> with the recent glibc updates. In fact, the autoconf macro Jan> that is searching for libdb1.85 complains loudly. I saw that; what I don't understand is why it doesn't link to -ldb1. bash-2.04$ ls -l /lib/libdb* -rw-r--r-- 1 root root 237708 Oct 14 03:45 /lib/libdb-2.1.95.so lrwxrwxrwx 1 root root 16 Oct 16 14:32 /lib/libdb.so.2 -> libdb1-2.1.95.so lrwxrwxrwx 1 root root 15 Oct 16 14:32 /lib/libdb.so.3 -> libdb-2.1.95.so -rw-r--r-- 1 root root 50876 Oct 14 03:45 /lib/libdb1-2.1.95.so lrwxrwxrwx 1 root root 16 Oct 16 14:32 /lib/libdb1.so.2 -> libdb1-2.1.95.so Oh, doesn't ld know about versioned .so's? Hmmm .... bash-2.04$ cat >/tmp/test.c <<EOT > #include <db.h> > int main () { dbopen(0,0,0,0,0); } > EOT bash-2.04$ gcc -o /tmp/test -ldb1 /tmp/test.c /usr/bin/ld: cannot find -ldb1 collect2: ld returned 1 exit status bash-2.04$ su -c 'ln -s libdb1-2.1.95.so /lib/libdb1.so' Password: bash-2.04$ gcc -o /tmp/test -ldb1 /tmp/test.c bash-2.04$ Aarrgh. Debian, bletch. OTOH, glibc no longer provides db (see attached FAQ). Maybe it's time to migrate Coda? Or is Linux the only system where db 1.85 is being phased out? -------------------------------- glibc FAQ -------------------------------- 2.31. What happened to the Berkeley DB libraries? Can I still use db in /etc/nsswitch.conf? {AJ} Due to too many incompatible changes in disk layout and API of Berkeley DB and a too tight coupling of libc and libdb, the db library has been removed completely from glibc 2.2. The only place that really used the Berkeley DB was the NSS db module. The NSS db module has been rewritten to support a number of different versions of Berkeley DB for the NSS db module. Currently the releases 2.x and 3.x of Berkeley DB are supported. The older db 1.85 library is not supported. You can use the version from glibc 2.1.x or download a version from Sleepycat Software (http://www.sleepycat.com). The library has to be compiled as shared library and installed in the system lib directory (normally /lib). The library needs to have a special soname to be found by the NSS module. If public structures change in a new Berkeley db release, this needs to be reflected in glibc. Currently the code searches for libraries with a soname of "libdb.so.3" (that's the name from db 2.4.14 which comes with glibc 2.1.x) and "libdb-3.0.so" (the name used by db 3.0.55 as default). -------------------------------- glibc FAQ -------------------------------- -- University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091 _________________ _________________ _________________ _________________ What are those straight lines for? "XEmacs rules."Received on 2000-10-16 21:15:19