[pybsddb] Problem: Win32 Build...

hasanyasin hasanyasin at cubicpen.com
Thu Mar 25 21:06:35 CET 2010


Hi,
I am working on building win32 binary installers for the library. I have 
tried many things; but I couldn't have a working installation of the 
library. I tried both building Berkeley DB on MinGW and using 
precompiled binaries downloaded from Oracle's website. There were some 
problems which I could manage getting rid off. I had built the installer 
as a win32 executable however the library does not work as expected. 
None of the tests works. The simplest thing, opening a db results as below:


Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit 
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
 >>> from bsddb3 import db as dbm
 >>> db=dbm.DB()
 >>> db.open('foo',dbtype=dbm.DB_HASH,flags=dbm.DB_CREATE|dbm.DB_THREAD)
At least one secondary cursor must be specified to DB->join
Primary databases may not be configured with duplicates
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
bsddb3.db.DBInvalidArgError: (22, 'Invalid argument')

On IDLE, the sentence "At least..." is not printed; but everything other 
is the same.

I had used precompiled binaries from Oracle and renamed 
db/lib/libdb47.lib to db/lib/libdb47s.lib. In addition to that, I also 
patched db/include/db.h changing typedef for ssize_t to "long" to make 
it compatible with MinGW. I tried using db4.8.26 and after that, 4.7.25.

Any ideas?

hasanyasin



More information about the pybsddb mailing list