To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=45753
User jb changed the following: What |Old value |New value ================================================================================ Status|RESOLVED |REOPENED -------------------------------------------------------------------------------- Resolution|FIXED | -------------------------------------------------------------------------------- ------- Additional comments from [EMAIL PROTECTED] Wed Mar 23 08:10:23 -0800 2005 ------- Our version of the BDB build process is incorrect on Windows and results in a DLLthat is incompatible to the one distributed by sleepycat. Linking and symbol export of libdb42 are done incorrectly. The sleepycat version exports the C symbols by ordinal.External libraries (e.g. apoc) are linked against that version. As a result they imports at least some symbols by ordinal. In our version different symbols are exported in arbitrary order and without assigned ordinals. As a result a call to db_env_create ends up calling the constructor of DbDeadlockException with invalid parameters. The sleepycat build specifies DLL exports in two ways: For the C exports there is a libdb.def file, which lists these exports and assigns ordinals to them. For the C++ exports the MSVC __declspec(dllexport)/__declspec(dllimport) feature is used. To trigger this, one of the macros DB_CREATE_DLL or DB_USE_DLL has to be used when the db_cxx.h header is included. [As we don't deliver that C++ header any more, we needn't take extra steps to make sure clients define DB_USE_DLL.] Our build creates (in the patch) a dxp file, which lists all the symbols we know of (incidentally that is fewer symbols than in the sleepycat DLL (419 vs. 465)) in mostly arbitrary order. This should be changed to use the same mechanisms as the sleepycat build: For C symbols use the DEF-file, for C++ symbols add /D"DB_CREATE_DLL" in the makefiles. The investigation of this problem also revealed that libdb_java42 is also built incorrectly. The original version is linked against the libdb42.dll. The StarOffice version statically links all of the objects that make up libdb42 instead. This is certainly incorrect and could possibly cause problems, because two independent instances of the bdb engine are active in the same process. This should also be fixed when correcting the problem. --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]