Problem:
I installed EMAN2 linux64 binary gcc4 version on my OpenSuSE 11.1. After I run eman2-installer and source the eman2.bashrc, I got following error message when I type e2.py:
sh: symbol lookup error: /home/gtang/EMAN2/lib/libreadline.so.5: undefined symbol: PC sh: symbol lookup error: /home/gtang/EMAN2/lib/libreadline.so.5: undefined symbol: PC sh: symbol lookup error: /home/gtang/EMAN2/lib/libreadline.so.5: undefined symbol: PC Traceback (most recent call last): File "/home/gtang/EMAN2/bin/e2.py", line 38, in <module> from emimage import image_update File "/home/gtang/EMAN2/lib/emimage.py", line 42, in <module> from OpenGL import GL,GLU,GLUT File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/GL/__init__.py", line 2, in <module> from OpenGL.raw.GL import * File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/raw/GL/__init__.py", line 6, in <module> from OpenGL.raw.GL.constants import * File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/raw/GL/constants.py", line 7, in <module> from OpenGL import platform, arrays File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/platform/__init__.py", line 36, in <module> _load() File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/platform/__init__.py", line 27, in _load plugin_class = plugin.load() File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/plugins.py", line 14, in load return importByName( self.import_path ) File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/plugins.py", line 28, in importByName module = __import__( ".".join(moduleName), {}, {}, moduleName) File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/platform/glx.py", line 8, in <module> class GLXPlatform( baseplatform.BasePlatform ): File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/platform/glx.py", line 16, in GLXPlatform mode=ctypes.RTLD_GLOBAL File "/home/gtang/EMAN2/Python/lib/python2.6/site-packages/OpenGL/platform/ctypesloader.py", line 53, in loadLibrary return dllType( name, mode ) File "/home/gtang/EMAN2/Python/lib/python2.6/ctypes/__init__.py", line 353, in __init__ self._handle = _dlopen(self._name, mode) OSError: ('GL: cannot open shared object file: No such file or directory', 'GL', None)
Solution:
That's because the libreadline.so library come with EMAN2 is not compatible with OpenSuSE 11.1 system. Just remove the libreadline library in EMAN2, use the system's libreadline instead:
$cd EMAN2/lib $mkdir bak $mv *readline* ./bak