From 79af4affd95dffb38f422327825ec3c1e2d957df Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Fri, 24 Aug 2007 05:38:31 +0000 Subject: [PATCH] On systems with both the ancient bsddb 1.85 library and a recent BerkeleyDB 4.x library installed both were detected so both modules were enabled. But the include path causes the recent BerkeleyDB's db.h file to be included causing the bsddb185 compile to fail. This disables building bsddb185 when both are present. --- setup.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 6f60a9a95de..a983b3be256 100644 --- a/setup.py +++ b/setup.py @@ -837,8 +837,13 @@ class PyBuildExt(build_ext): # accidentally building this module with a later version of the # underlying db library. May BSD-ish Unixes incorporate db 1.85 # symbols into libc and place the include file in /usr/include. + # + # If the better bsddb library can be built (db_incs is defined) + # we do not build this one. Otherwise this build will pick up + # the more recent berkeleydb's db.h file first in the include path + # when attempting to compile and it will fail. f = "/usr/include/db.h" - if os.path.exists(f): + if os.path.exists(f) and not db_incs: data = open(f).read() m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data) if m is not None: