A while back I had a problem with OpenBabel shared libraries, but I can't find
the discussion in the archives.
A quick summary: There was a table define in a .cpp file (like the elements
table?) that had no references to it in OpenBabel, so the linker wasn't
including it in the .so file, resulting in an unresolved symbol when ld.so
tried to link the .so file to a program.
I'm in the process of migrating from Fedora to Ubuntu 10.04, and I think I'm
running into this again. On the new machine, I get this:
ERROR: could not load library "/usr/local/pgsql/lib/libchmoogle.so":
/usr/local/pgsql/lib/libchmoogle.so: undefined symbol: _ZN9OpenBabel4etabE
"etab" seems to be OBElementTable, defined in mol.h and created in data.cpp.
Here's another symptom. Using the exact same source tree, on Fedora and
Ubuntu, nm(1) reports different symbols in the .so file:
Fedora: $ nm /usr/local/openbabel/lib/libopenbabel.so | grep
_ZN9OpenBabel4etabE
0000000000430b80 B _ZN9OpenBabel4etabE
$ cpp --version
cpp (GCC) 4.1.2 20070925 (Red Hat 4.1.2-33)
Ubuntu: $ nm /usr/local/openbabel/lib/libopenbabel.so | grep
_ZN9OpenBabel4etabE
00000000000604a0 t _GLOBAL__I__ZN9OpenBabel4etabE
0000000000431da0 B _ZN9OpenBabel4etabE
$ cpp --version
cpp (Ubuntu 4.4.3-4ubuntu5) 4.4.3
So it looks like on Ubuntu, the OBElementTable etab really isn't present in the
.so file.
Does anyone have a clue what's causing this?
Thanks!
Craig
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
OpenBabel-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel