[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#197875: python2.3: module dbm is missing



Matthias Klose wrote:
Next thing to investigate, if the archives generated by the gdbm
implementation are binary compatible with the ones created by the
libdb1 implementation...

Most definitely not: gdbm produces a different binary format than
db1 (which is BDB 1.85). Traditionally, the 'dbm' module would
produce what is the "native" dbm format of the system. On Linux,
this depends on the distribution; if Debian was using db1 all along,
it should either continue to do so, or drop the dbm module
altogether.

If people need access to BDB 1.85 database files, in Python 2.3,
they should best use the bsdb185 module; the distributor should
guarantee that this is always built against BDB 1.85 (or a library
that emulates not only the BDB 1.85 API, but also the BDB on-disk
format, such as Sleepycat BSDDB 2).

at least gdbmmodule.c reads: "Please note that the file formats
created by GDBM and dbm are incompatible." Or are the files
compatible, if gdbm is used via the gdbm-ndbm.h interface?

They are really incompatible. The OP might not care about on-disk
compatibility if the API compatibility is provided, but given past
experience, I'd advise not to silently link dbm.so against a different
ndbm implementation.

Regards,
Martin



Reply to: