On 20 Nov, 2007, at 20:53, zooko wrote:

Folks:

It appears that eggs built on Mac OS 10.4 are produced with filenames
containing "macosx-10.3", like this:

http://pypi.python.org/packages/2.5/s/simplejson/simplejson-1.7.3-
py2.5-macosx-10.3-fat.egg

but that if you try to easy_install such a package on Mac OS 10.5, it
will deem that egg to be incompatible with the current platform and
will instead try to install from a source tarball if it can find
one.  (On the other hand if you install that egg on Mac OS 10.4, it
will work.)


PJE reports that the platform versioning code for OS X was
contributed by someone other than he to pkg_resources, and that he
doesn't know how it works, except that it reads /usr/bin/sw_vers.


Does anyone know if there is a good reason for Python running on 10.5
to reject binaries built on 10.4, and if not what would be required
to make this version check pass?

This seems to be caused by distutils.util.get_platform() returning the wrong value (macosx-10.5-i386 instead of macosx-10.5-fat). This is caused by what seems to be a rather dumb bug in that function:

|               if (release + '.') < '10.4.' and \
|                       get_config_vars().get('UNIVERSALSDK', '').strip():
| # The universal build will build fat binaries, but not on
|                        # systems before 10.4
|                        machine = 'fat'

The first part of the test seems wrong to me and causes machine not to be set to 'fat' on 10.5.

Ronald

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Pythonmac-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to