[Distutils] zc.buildout: Build python in buildout

Christian Zagrodnick cz at gocept.com
Wed Nov 28 18:41:32 CET 2007


Hey,

building python with buildout is not very hard (see below).

When installing sections buildout apparently uses the built python to 
get dependencies and compile the C extensions if any.

Only the dependencies of the recipes are fetched via the bootstrap 
python. But with C extensions this is the problem. For instance 
zc.zodbrecipes depend on ZODB3 which is then compiled with the wrong 
python.

This would not be much of a problem but I then get those errors:

ImportError: 
/tmp/test/eggs/ZODB3-3.8.0b4-py2.4-linux-x86_64.egg/persistent/cPersistence.so: 
undefined symbol: PyUnicodeUCS4_AsEncodedString

Any clue what to do? I suppose the only way is to make the two pythons 
eat the same .so files?





This does the trick of building python:

[buildout]
python = python

[python]
recipe = zc.recipe.cmmi
url = http://python.org/ftp/python/2.4.4/Python-2.4.4.tar.bz2
executable = ${buildout:directory}/parts/python/bin/python2.4


-- 
Christian Zagrodnick

gocept gmbh & co. kg  ·  forsterstrasse 29 · 06112 halle/saale
www.gocept.com · fon. +49 345 12298894 · fax. +49 345 12298891





More information about the Distutils-SIG mailing list