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