classification
Title: distutils fails to build C extensions with XCode 5.1 and OS X 10.9 (Mavericks)
Type: Stage: resolved
Components: Distutils Versions: Python 2.7
process
Status: closed Resolution: third party
Dependencies: Superseder:
Assigned To: Nosy List: dstufft, eric.araujo, jaraco, kfrazier, ned.deily
Priority: normal Keywords:

Created on 2014-04-15 19:16 by kfrazier, last changed 2014-04-16 01:37 by ned.deily. This issue is now closed.

Files
File name Uploaded Description Edit
toysetup.py kfrazier, 2014-04-15 19:16 Simplified setup.py file to demonstrate the issue
Messages (2)
msg216363 - (view) Author: Kent Frazier (kfrazier) * Date: 2014-04-15 19:16
Using the stock Python shipped by Apple with OS X 10.9 Mavericks and XCode 5.1, Mercurial (and other Python extensions) encounter an error like:

cc -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c mercurial/base85.c -o /private/var/folders/qv/tv81r5_9119bs3jwj3g2rp540000gn/T/hgtests._a6HZj/build/temp.macosx-10.9-intel-2.7/mercurial/base85.o
clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
error: command 'cc' failed with exit status 1
make: *** [tests] Error 1
 
This can be worked around with:
 
export CFLAGS=-Qunused-arguments

On my machine, Python was build with clang-500.0.68 and the XCode 5.1 updates it to clang-503.0.40. I will include a simple setup.py that can be run against Mercurial's head to demonstrate the issue.
msg216418 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-04-16 01:37
This is a problem specifically with the Apple-supplied system Pythons in OS X 10.9.  It's due to the obsolete configuration parameters used in their build of Python and due to changes in Xcode 5.1.  Expect Apple to fix it in an upcoming maintenance release of OS X 10.9.x.
History
Date User Action Args
2014-04-16 01:37:06ned.deilysetstatus: open -> closed

type: compile error ->

nosy: + ned.deily
messages: + msg216418
resolution: third party
stage: resolved
2014-04-15 19:16:26kfraziercreate