[Pythonmac-SIG] How to build Python 2.5 to support 64-bits on Mac OS X 10.4

Dr. Harold Walter Schranz Harold.Schranz at anu.edu.au
Thu Feb 1 09:06:57 CET 2007


Hi Distinguished Pythoneers,

Sorry if this Email is too verbose or unstructured ... (blame: blood  
sugar is dropping and I'm in need of some dinner!)

I've been set the task of creating a 64 bit Intel build of Python 2.5  
that supports the EM64T functionality in our research groups new  
machines which are both running OS X 10.4.8.

Intel Core 2 Duo laptop:
   Machine Name:	Mac  Machine Model:	MacBookPro2,2
   Processor Name:	Intel Core 2 Duo   Processor Speed:	2.33 GHz   
Number Of Processors:	1 Total Number Of Cores:	2
   L2 Cache (per processor):	4 MB  Memory:	2 GB  Bus Speed:	667 MHz

Xserve Quad Xeon:
   Machine Name:	Xserve  Machine Model:	Xserve1,1
   Processor Name:	Dual-Core Intel Xeon  Processor Speed:	3 GHz   
Number Of Processors:	2  Total Number Of Cores:	4
   L2 Cache (per processor):	4 MB  Memory:	16 GB  Bus Speed:	1.33 GHz

The usual Python 2.5 build (http://www.python.org/ftp/python/2.5/ 
python-2.5-macosx.dmg) I believe is just 32 bit Universal ... we  
don't need a Universal build but 32 bits just doesn't cut it (the  
proverbial mustard) so to speak.

I believe just a command line Python would be fine that supports 64  
bit (as we need to interface to a MySQL database with multi-gigabytes  
of data).

So far we've tried a source base build (http://www.python.org/ftp/ 
python/2.5/Python-2.5.tgz)

1) with the default configure (default options) which just leads to a  
32 bit Intel python executable:

$ file python.exe
python.exe: Mach-O executable i386


  2) and then a few different flags on configure (I've no idea where  
my "partner in crime" got these from! I though -march was the new  
flag!):
/configure OPT="-fast -Wall \
 > -Wstrict-prototypes -fno-common -fPIC \
 > -isysroot /Developer/SDKs/MacOSX10.4u.sdk \
 > -arch x86_64" \
 > LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk,\
 > -headerpad_max_install_names -arch x86_64"

While the configure runs ... the make eventually fails with:

/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/ 
CoreServices.framework/Frameworks/CarbonCore.framework/Headers/fp.h: 
1338: error: 'SIGDIGLEN' undeclared here (not in a function)
make: *** [Python/mactoolboxglue.o] Error 1

I've seen this SIGDIGLEN error about before ... probably relates to  
the conditional in fp.h not handling an unknown CPU_TARGET :
#if TARGET_CPU_PPC || TARGET_CPU_X86
     #define SIGDIGLEN      36
#elif TARGET_CPU_68K
     #define SIGDIGLEN      20
#endif

Anyway, I expect the fundamental problem relates to Carbon not being  
64-bit ready (until Leopard).

I guess I just want to do a basic ("Unix-"-y) command line build of  
Python 2.5 that handles the EM64T functionality in the chips we have  
in our machines.

Do I have to wait until Leopard???

Thanks for any pointers (or any other structures 8-) ).

Harry.
Extinguished Pythoneer (temporarily)

------------------------------------------------------------------------ 
----
Dr. Harold W. Schranz, Research Fellow, Computational Genomics Group
Division of Molecular Bioscience
John Curtin School of Medical Research
Australian National University
Canberra ACT 0200, Australia                Email:  
Harold.Schranz at anu.edu.au
------------------------------------------------------------------------ 
----





More information about the Pythonmac-SIG mailing list