From: Geoffrey H. <ge...@ge...> - 2005-11-30 19:19:48
|
On Nov 30, 2005, at 1:57 PM, S Joshua Swamidass wrote: > It will help knowing exactly how these delayed dynamic libray loads > are made. Why aren't they all already part of the _openbabel.so? The _openbabel.so is merely some "glue" code to allow the openbabel.py module to access the C++ library. So there are actually several dynamic library loads beyond just _openbabel.so. For example, libopenbabel.so is loaded. The delayed loads are for the individual file format dynamic libraries. The OB-2.0 library structure separates them from the main library -- there are plenty of users who want use of the libopenbabel library but not necessarily all of the file format translators. This library structure works just fine for C, C++, and the Perl wrapper AFAICT. And it works for me on Mac OS X with Python. I'm not sure what's different about Linux Python, or who can help with this necessarily. > Do you think we coudl statically link them? Where is the code that > loads > them dynamically? You don't want to statically link them. In fact, there are problems with the static builds of Open Babel because the linking is tricky. The C++ code that loads the file formats is in src/ dlhandler_unix.cpp. It has no error messages like the ones you report, which is why I don't know what to debug. :-( -Geoff |