It never fails (bsddb retirement in 2.3)

"Martin v. Löwis" martin at v.loewis.de
Fri May 2 11:09:06 EDT 2003


Nick Vargish wrote:

> The /usr/include/db.h says:
> 
> @(#)$RCSfile: db.h,v $ $Revision: 1.1.4.2 $ (DEC) $Date: 1997/06/24 18:33:38
> [..]
> @(#)db.h        8.7 (Berkeley) 6/16/94
> 
> Not sure about /usr/lib/libdb.a, except it's a symbolic link to
> /usr/ccs/lib/libdb.a.

That looks like bsddb 1.85, indeed, except that it is perhaps 
DEC/Compaq/HP modified.

> This is a write-once, read-many situation. I appreciate there might be
> risks, but right now the included libdb is "good enough for government
> work."

Ok. If you want bsddb185 to be built by default with setup.py, please
submit a patch to SF. That patch should
a) only build against <db.h>, i.e. not <db_185.h>
b) verify that <db.h> is indeed bsddb 1.85, i.e. not Sleepycat bsddb,
    and not some other header file that happens to be named db.h. We
    don't want to have two modules which wrap essentially the same
    library.
    Perhaps there are some unique #defines in that header to test for?
    I recommend to perform this test in configure.in, and communicate it
    to setup.py through a #define (DB_H_IS_BSDDB_185?) in pyconfig.h.
c) *not* import bsddb185 as a fallback of importing bsddb. We had
    to many bug reports of people who unknowingly corrupted their data
    so we are not interested at all in letting more people run into this
    trap. If you want to use this specific software, you will have to
    make an explicit choice.

If you can't/don't want to produce such a patch, you might want to find
somebody else who does.

Regards,
Martin





More information about the Python-list mailing list