[Distutils] zc.buildout: Build python in buildout
Jim Fulton
jim at zope.com
Wed Nov 28 21:48:13 CET 2007
On Nov 28, 2007, at 12:41 PM, Christian Zagrodnick wrote:
> 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
Ouch.
I guess the Python used to run the buildout and the Python built by
the buildout are the same Python version.
> Any clue what to do?
I have clues, although I'm not sure they'll be useful. If the Python
used to run the buildout and the Python built by the buildout were
different versions, then you'd be OK.
I suspect that a better solution would be to find a way to bootstrap
the buildout in a way that included building Python as part of the
bootstrapping process.
> I suppose the only way is to make the two pythons
> eat the same .so files?
I don't know how you'd do that.
Jim
--
Jim Fulton
Zope Corporation
More information about the Distutils-SIG
mailing list