Try linking the static Sleepycat lib into _bsddb.pyd. Hard to say
whether this is a correct thing to do:
+ There are linker warnings (see PCbuild\readme.txt).
+ test_bsddb passes, in both release and debug builds now.
+ test_bsddb3 has several failures, but it did before too.
Also made pythoncore a dependency of the _bsddb project, updated
build instructions, added database conversion XXX to NEWS, and fiddled
the Windows installer accordingly.
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 7f8e138..94594d0 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -161,6 +161,8 @@
_bsddb
+ XXX The Sleepycat release we use will probably change before
+ XXX 2.3a1.
Go to Sleepycat's patches page:
http://www.sleepycat.com/update/index.html
and download
@@ -182,19 +184,21 @@
yes, of course). Choose configuration "db_buildall - Win32 Release",
and build db_buildall.exe.
- XXX You have to copy
- XXX dist\db-4.0.14\build_win32\Release\libdb40.dll
- XXX into PCbuild (or elsewhere on your path) before the tests
- XXX will run.
+ XXX We're actually linking against Release_static\libdb40s.lib.
+ XXX This yields the following warnings:
+"""
+Compiling...
+_bsddb.c
+Linking...
+ Creating library ./_bsddb.lib and object ./_bsddb.exp
+LINK : warning LNK4049: locally defined symbol "_malloc" imported
+LINK : warning LNK4049: locally defined symbol "_free" imported
+LINK : warning LNK4049: locally defined symbol "_fclose" imported
+LINK : warning LNK4049: locally defined symbol "_fopen" imported
+_bsddb.pyd - 0 error(s), 4 warning(s)
+"""
+ XXX This isn't encouraging, but I don't know what to do about it.
- XXX A debug-mode build blows up when running this, presumably because
- XXX I'm mixing debug-mode MS stuff with Sleepycat's release-mode
- XXX DLL. This gives me a headache. I would *like* to, as the old
- XXX bsddb 1.85 project apparently managed to do, link the Berkeley
- XXX DLL into the guts of our _bsddb.pyd. I don't know how to.
-
- XXX The Sleepycat release we use will probably change before
- XXX 2.3a1.
YOUR OWN EXTENSION DLLs