Q: I am trying to run test script come with EMAN2. I got the error message "ImportError: /usr/lib/libboost_python-gcc41-1_34_1.so.1.34.1: undefined symbol: Py_InitModule4_64". What does it mean?

A: The name "Py_InitModule4" was changed to "Py_InitModule4_64" in Python2.5 on x86_64 platform. --"to prevent loading extension module that assume a 32-bit size type into an interpreter that has a 64-bit size type, Py_InitModule4 is renamed to Py_InitModule4_64" (http://www.python.org/dev/peps/pep-0353)

Usually this means you mixed the 32 bit boost library with 64 bit Python interpreter. You need make sure you boost.python library, Python interpreter and your EMAN2 are all 64-bit. And your boost.python library should be compiled with your target Python interpreter, i.e., don't use boost.python library compiled with Pyhton 2.4 to compile EMAN2 with Python 2.5 interpreter.

EMAN2/FAQ/Py_initModule4_64 (last edited 2009-08-12 17:54:22 by bcm-10-134)