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
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to