[Zope-dev] Linux x86_64 [Was: Zope Tests: 3 OK, 5 Failed]

Shane Hathaway shane at hathawaymix.org
Sat Jul 25 14:01:12 EDT 2009


Hanno Schlichting wrote:
> I kind of suspect that we are seeing the results of
> http://www.python.org/dev/peps/pep-0353 though.

That is very likely.  BTW, that PEP links to a handy tool that reveals 
most 64 bit portability issues in Python-oriented C code.

>>From what I understand we need to change code in C extension modules
> following the instructions in that PEP, to be able to run code
> reliably on 64-bit platforms. To my knowledge nobody changed any C
> code in Zope yet to do so.

We fixed the C portability problems in Zope 3 a while back, but it seems 
we didn't fix the extensions that are specific to Zope 2.

> The other interesting bit to this is, that it seems doable but hard to
> do these changes while preserving compatibility with Python 2.4. These
> changes along with the definition of "Py_ssize_t" were introduced into
> Python 2.5.

Preprocessor macros solve that fairly cleanly, actually:

#ifndef Py_ssize_t
#define Py_ssize_t int
#endif

> At this point I think we need to declare 64-bit platforms as
> unsupported. Hopefully people with the right kind of knowledge would
> like to step up and start working on these issues.

I just checked in some code that solves the portability problem in 
zope.index, although I haven't created a release.  It looks like the 
Acquisition module needs some 64 bit TLC.

Shane


More information about the Zope-Dev mailing list