[Python-Dev] Python 2.7 Mac universal builds seem broken on trunk

Ronald Oussoren ronaldoussoren at mac.com
Tue Sep 29 17:44:40 CEST 2009


On 29 Sep, 2009, at 17:28, M.-A. Lemburg wrote:

>
> Ronald Oussoren wrote:
>>
>> On 26 Sep, 2009, at 14:46, Barry Scott wrote:
>>
>>> I'm working with http://svn.python.org/projects/python/trunk on  
>>> Mac OS
>>> X 10.6.1
>>> using Apples xcode gcc 4.2.1.
>>>
>>> When I run the following commands:
>>>
>>>    ./configure --enable-framework --with-universal-archs=32-bit |  
>>> tee
>>> build.config.log
>>>    make clean all | tee build.make.log
>>>
>>> I end up with a x86_64 Python image.
>>>
>>> No matter what I use for archs its always the same.
>>>
>>> I would expect to see -arch arg to GCC but it is not there.
>>>
>>>    export CFLAG="-arch i386"
>>>
>>> did not work either.
>>>
>>> Am I doing something wrong or is this broken on trunk?
>>
>> Use:
>>
>>    ./configure --enable-framework --enable-universalsdk=/
>>
>> The --with-universal-archs flag selects whichs architectures should  
>> be
>> included when you build a universal binary, defaulting to 32-bit.
>
> The Python default on 10.6 is 64-bit, so wouldn't it be better
> to default to that on 10.6 and use 32-bit as default on 10.3/4/5 ?!

Defaulting to a 32-bit build has several advantages. The first is that  
the defaults match the binary installer on the python.org website, and  
secondly there are still 3th-party libraries that don't work in 64-bit  
mode (mostly GUI libraries, until recently Tk and wxWidgets wrapped  
the Carbon libraries which are not available in 64-bit mode; AFAIK  
both have betas that wrap the Cocoa libraries instead).

To mimick the system default you'd have to default to 32-bit on 10.4,  
4-way universal on 10.5 and 3-way universal on 10.6, and that is  
without considering deployment targets.  All of those are available as  
options, I'd prefer to keep it this way for now to keep things simple.

>
>> I'll write some documentation on the build options on OSX,  but don't
>> know what's the best location to do so.
>
> Please put that information into Mac/README which already has
> documentation for how to build universal binaries on Mac.

I know that, I wrote most of that file ;-).
>
>> I guess I should also add logic to configure that bails out when you
>> specifiy --with-universal-archs without asking for a universal build.
>
> That would be useful.

I've committed a patch to the trunk and 2.6 that does this.

Ronald
>
> -- 
> Marc-Andre Lemburg
> eGenix.com
>
> Professional Python Services directly from the Source  (#1, Sep 29  
> 2009)
>>>> Python/Zope Consulting and Support ...        http:// 
>>>> www.egenix.com/
>>>> mxODBC.Zope.Database.Adapter ...             http:// 
>>>> zope.egenix.com/
>>>> mxODBC, mxDateTime, mxTextTools ...        http:// 
>>>> python.egenix.com/
> ________________________________________________________________________
>
> ::: Try our new mxODBC.Connect Python Database Interface for  
> free ! ::::
>
>
>   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
>    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
>           Registered at Amtsgericht Duesseldorf: HRB 46611
>               http://www.egenix.com/company/contact/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2224 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-dev/attachments/20090929/9b653822/attachment.bin>


More information about the Python-Dev mailing list