Building BDB for windows
I'm trying to get support for Berkely DB under windows, but I have not
been able to produce a functional build of the BDB library.
Compiling with Visual Studio produces a dll, however ruby complains
that it can't find the "Init_bdb" method when trying to use the dll.
The Init_bdb function deffinitly exists in the source code.
Compiling under linux produces working linux binaries; however, when I
tried cross-compiling using mingw (as described in
http://eigenclass.org/hiki.rb?cross+compiling+rcovrt), I wasn't able to
successfully link against the berkeley db dll.
Furthermore, I tried using the berkeley db dll directly using Ruby/DL,
again with no success. Code in this style:
extern "int db_create(DB **dbp, DB_ENV *dbenv, u_int32_t flags)"
fails because db_create cannot be found, while something like this:
bdb = DL.dlopen('libdb44.dll')
db_create = bdb['db_create', 'IPPI']
db = nil
db_create.call(db, nil, 0)
fails because the dll somehow makes ruby "exit unexpectedly" during
I've run out of ideas how to make it work. Has anyone been successful?
Re: Building BDB for windows
Following the SWIG instructions, I added NT=1 and "IMPORT" to the
Preprocessor definitions and set the entry point to Init_bdb. I also
set the multi-threaded DLL option /MD because /ML does not play nice
with specifying the entry point.
I now get the following error:
../bdb.dll: 127: The specified procedure could not be found. -
ruby 1.8.4 (2005-12-24) [i386-mswin32]
This application has requested the Runtime to terminate it in an
Please contact the application's support team for more information.
The last two lines of the message correspond to the error I am getting
when trying to access the berkeley dll using Ruby/DL.
|All times are GMT. The time now is 11:40 PM.|
Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.