[Zope] Weird "undefined symbol: PyUnicodeUCS{2|4}_AsEncodedString" errors

Marco Bizzarri marco.bizzarri at gmail.com
Wed Feb 18 08:33:30 EST 2009

On Wed, Feb 18, 2009 at 12:00 PM, Chris Withers <chris at simplistix.co.uk> wrote:
> Chris Withers wrote:
>> ImportError: /usr/lib/zope2.9/lib/python/persistent/cPersistence.so:
>> undefined symbol: PyUnicodeUCS4_AsEncodedString
>> ImportError: /opt/Zope-2.9/lib/python/persistent/cPersistence.so:
>> undefined symbol: PyUnicodeUCS2_AsEncodedString
> Having had a bit of a google, I found this post from Andreas:
> http://mail.zope.org/pipermail/zope3-users/2006-June/003791.html
> So it seems that "python2.4" resolves to one python when cron is running
> and another when run from a shell of the same user.
> Has anyone seen this behaviour before or know what could cause it?
> cheers,
> Chris
> PS: I've solved this for now by changing python2.4 to
> /usr/local/bin/python2.4 in the control scripts, which seems to have
> done the trick.
> --
> Simplistix - Content Management, Zope & Python Consulting
>            - http://www.simplistix.co.uk

Is it possible that you've something in your .bash_profile or .bashrc
which manipulates the PATH environment variable?

The behaviour could be explained because cron could define and execute
your script using /bin/sh as the shell. Even though that one is a sym
or an hard link to /bin/bash, bash could behave like sh and not
reading the .bashrc or .bash_profile scripts before starting.

Hope this help


Marco Bizzarri

More information about the Zope mailing list