Bug#42898: libc6: db_dump185 links to libdb not libdb1
Andreas Jaeger wrote:
> Paul Martin writes:
> > db_dump185 cannot handle db1.85 databases as it links thus:
> > # ldd /usr/bin/db_dump185
> > libdb.so.3 => /lib/libdb.so.3 (0x40006000)
> > libc.so.6 => /lib/libc.so.6 (0x40041000)
> > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
>db_dump185 comes with db2 (it's build in the db2 subdirectory!) - and
>therefore it has to be linked with db2 (aka libdb.so.3). glibc is
>just following the recommend way of the db2 authors.
No. This is a bug.
I wasted a lot of time because of it.
Observe (lines split for clarity):
~/.netscape> file cert.db
cert.db: Berkeley DB 1.85 Hash/Little Endian (Version 2, \
Bucket Size 1024, Bucket Shift 10, Directory Size 256, \
Segment Size 256, Segment Shift 8, Overflow Point 3, \
Last Freed 3, Max Bucket 5, High Mask 0x7, Low Mask 0x3, \
Fill Factor 4, Number of Keys 8)
~/.netscape> env LD_PRELOAD=libdb.so.3 db_dump185 cert.db | db_load foo
db_dump185: cert.db: Invalid argument
db_load: line 1: unexpected format
~/.netscape> env LD_PRELOAD=libdb.so.2 db_dump185 cert.db | db_load foo
~/.netscape> file foo
foo: Berkeley DB 2.X Hash/Little Endian (Version 5)
-jonathan
Reply to: