[issue14498] Python 3.x distutils.util.get_platform returns incorrect value using Mac OSX 10.7

Ned Deily report at bugs.python.org
Wed Apr 4 23:50:51 CEST 2012


Ned Deily <nad at acm.org> added the comment:

For OS X builds, the value returned in get_platform() is not intended to indicate what OS version the Python instance is running on.  Rather, it indicates which ABI version was used to build the Python in use so that Distutils can use the same ABI for building C extension modules.  The ABI is determined by the value of MACOSX_DEPLOYMENT_TARGET at build time.  In this case, a value of "macosx_10.6-intel" means the resulting executables and object files are a universal build with both 32-bit (i386) and 64-bit (x64_64) Intel architectures and can run on Mac OS X 10.6 and higher.  The reason the Apple-supplied system Pythons have a value of 10.7 is that they are built with a deployment target of 10.7; they have no need to run on earlier version of OS X.

The issue with the readline extension build you cite is the error "Compiling with an SDK that doesn't seem to exist: /Developer/SDKs/MacOSX10.6.sdk".  Chances are you are using the most recent Xcode release (4.3.x) from Apple which unfortunately moved the location of the SDKs from /Developer, which now no longer is used by Xcode, to within the Xcode.app bundle itself, now located in /Applications.  A workaround for Xcode 4.3 is to install a symlink to the old location:

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer /Developer

----------
nosy: +ned.deily
resolution:  -> rejected
stage:  -> committed/rejected
status: open -> closed

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue14498>
_______________________________________


More information about the Python-bugs-list mailing list