Page 1 of 1

Undefined Reference when running PythonMagick

Posted: 2009-01-14T12:52:03-07:00
by themanatuf
I'm trying to run/test PythonMagick and I'm having some troubles with the latest version, 0.8. I've compiled and installed ImageMagick 6.4.6 and also compiled and installed PythonMagick 0.8. There were no errors reported from either installation. However, when trying to import PythonMagick into a Python application, I'm getting the following error:

ImportError: /usr/lib64/python2.5/site-packages/PythonMagick/_PythonMagick.so: undefined symbol _ZTIN5boost6python15instance_holderE

I then ran ldd on the _PythonMagick.so module and libboost-python is not listed (I can't post the entire list because the server is on a separate network).

I also verified that boost is installed and the following Boost.Python libraries exist:

/usr/lib64/libboost_python-mt.so
/usr/lib64/libboost_python-mt.so.1.34.1
/usr/lib64/libbosst_python-mt.so.3
/usr/lib64/libboost_python.so
/usr/lib64/libboost_python.so.1.34.1
/usr/lib64/libboost_python.so.3

I'm running Fedora 9 x86_64. If anyone can provide any pointers I would greatly appreciate it. I've been chasing this one for a few hours and Googling for the undefined symbol returns basically nothing. Thanks in advance.

Re: Undefined Reference when running PythonMagick

Posted: 2009-01-15T06:04:51-07:00
by themanatuf
I've been tracking this down a bit more and it appears PythonMagick is trying to link to the static version of boost_python. Unfortunately, it doesn't look like this is included in the boost package for Fedora. Looking for all libboost_python items returns (I think) four shared object files. Is there any way to compile PythonMagick to use the Boost shared object library instead of the static one?