Coda File System

Re: Debian configuration issues

From: Stephen J. Turnbull <turnbull_at_sk.tsukuba.ac.jp>
Date: Tue, 17 Oct 2000 10:10:12 +0900 (JST)
>>>>> "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