[Zope-dev] debugging Zope -> ImportError: ./ExtensionClass.so: undefined symbol: PyObject_Init

Jens Wolk jewo_lists@gmx.de
Mon, 16 Dec 2002 16:46:48 +0100


Hi everybody,

I tried to follow "Chapter 7: Testing and Debugging" of "The Zope Developer's 
Guide (Zope 2.4 edition)"
http://www.zope.org/Documentation/Books/ZDG/current/TestingAndDebugging.stx

However, on my Linux server I get the following error:
(Zope is v2.5.1)

[root@prefect Zope-2.5.1-linux2-x86-dev]# cd lib/python
[root@prefect python]# python
Python 1.5.2 (#1, Apr  3 2002, 18:16:26)  [GCC 2.96 20000731 (Red Hat Linux 
7.2 2 on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import Zope, ZPublisher
Traceback (innermost last):
  File "<stdin>", line 1, in ?
  File "Zope/__init__.py", line 21, in ?
    import ZODB, ZODB.ZApplication, imp
  File "ZODB/__init__.py", line 14, in ?
    import sys, ExtensionClass, TimeStamp, cPersistence, Persistence
ImportError: ./ExtensionClass.so: undefined symbol: PyObject_Init
>>>

The system is a RedHat 7.2 system with the following python packages 
installed:
[root@prefect python]# rpm -qa | grep python
python-1.5.2-38
python-popt-0.8.8-7.x.2
python-xmlrpc-1.5.1-7.x.3
python2-docs-2.2-16
python2-2.2-16
python-clap-1.0.0-3
rpm-python-4.0.4-7x.18
python-docs-1.5.2-38

BTW, if I try to import ZPublisher only, the result is again an error:

[root@prefect python]# python
Python 1.5.2 (#1, Apr  3 2002, 18:16:26)  [GCC 2.96 20000731 (Red Hat Linux 
7.2 2 on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> import ZPublisher
Traceback (innermost last):
  File "<stdin>", line 1, in ?
  File "ZPublisher/__init__.py", line 23, in ?
    from Publish import publish_module, Retry
  File "ZPublisher/Publish.py", line 19, in ?
    from Response import Response
  File "ZPublisher/Response.py", line 13, in ?
    import HTTPResponse
  File "ZPublisher/HTTPResponse.py", line 79, in ?
    status_codes[''.join(val.split(' ')).lower()]=key
AttributeError: 'string' object has no attribute 'join'
>>>

It seems I missed something important. Can anybody give me hint?

Yours. Jens