Compiling python extension on amd64 for 32 bit

Andrew MacIntyre andymac at bullseye.apana.org.au
Sat May 26 20:39:44 EDT 2007


Mathias Waack wrote:
> Andrew MacIntyre wrote:
> 
>> Mathias Waack wrote:
>>> After switching my development environment to 64 bit I've got a
>>> problem with a python extension for a 32 bit application.
>> {...}
>>
>>> Ok, thats fine. So why is python complaining? Or even more
>>> interesting, what do I have to do to compile the code?
>> Is the Python your toolchain is referencing 32 or 64 bit?  Based on
>> what I can see in pyport.h, I'd guess that you're finding a 64 bit
>> Python (ie SIZEOF_LONG == 8).
> 
> There is no such thing as "the Python". A biarch environment offers
> both the 32 bit and the 64 bit versions of each library. And unique
> headers, because its assumed that the headers are independent of the
> architecture. Because of the -m32 Flag the pyport.h is used within a
> 32 bit env. 

Every Python installation has an architecture dependent header
(pyconfig.h), unless a vendor specifically creates a replacement which
neutralises this; that header contains the definition (SIZEOF_LONG) that
triggers your problem.

-- 
-------------------------------------------------------------------------
Andrew I MacIntyre                     "These thoughts are mine alone..."
E-mail: andymac at bullseye.apana.org.au  (pref) | Snail: PO Box 370
        andymac at pcug.org.au             (alt) |        Belconnen ACT 2616
Web:    http://www.andymac.org/               |        Australia



More information about the Python-list mailing list