From: David Abrahams (dave_at_[hidden])
Date: 2003-05-03 10:17:26
"Tahir Azim" <hitectahir_at_[hidden]> writes:
> I have been trying to build a Python wrapper module for a C++ program
> named Sql2Root. Earlier I was using CXX for this purpose, as this was
> the tool mentioned in the program's website. But initially i had the
> problem that distutilsinvoked gcc for compilation which resulted in
> Python giving the error:
> undefined symbol: cerr
> when the module was imported.
> So I manually executed out the same commands using g++ instead of gcc.
> But this time on importing I got the error message:
> undefined symbol: ObjectAlloc__8TStorageUi
> Then i found that i could use the other tool Boost.python. It worked
> ok with simple C++ programs (as did CXX for that matter), but for this
> particular program, again on trying to import in Python, i got the
> undefined symbol: DoErr.....
> with some other (apparently) random numbers after that.
Boost.Python posts should go to the C++-sig; see
Can you post the complete error message? When you post there, please
include the precise sequence of python commands you issued, and the
complete error message (don't leave out the "random" numbers; they
might be important).
If you can post an archive containing the code for a reproducible
test case, that would be a big help.
> Can anyone help me out on this and point me out as to how these errors
> may be removed?
These problems all look like your program is trying to use a symbol
from a dynamic library which it can't find. DoErr is not a symbol
from Boost.Python or Python itself, AFAICT, so my guess is that this
problem is directly related to the code that you're wrapping and the
libraries it's trying to use. You might need to set your
LD_LIBRARY_PATH (I assume you're running on Linux - you should tell
us that too) to include those libraries.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk