Ticket #27828 (closed defect: fixed)
py26-py2app @0.52 (and py25-py2app) cannot build apps on x86_64
|Reported by:||abarnert@…||Owned by:||macports-tickets@…|
Description (last modified by ryandesign@…) (diff)
On Snow Leopard x86_64 (with the default x86_64 arch setting), py26-py2app installs properly. However, when you try to use it to build applications, it fails.
For example, if you download the MusicBrainz Picard source package, install the dependencies with MacPorts, and build everything, you can run it from the source tree. But when you then try to build an app bundle with:
$ /opt/local/bin/python2.6 setup.py py2app
It fails with "IOError: [Errno 2] No such file or directory: '/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/py2app/apptemplate/prebuilt/main-x86_64'" and dumps you into pdb.
The first problem seems to be an incomplete (and incorrect) set of apptemplates. The port installs four prebuilt templates:
- main-fat: i386+ppc
- main-fat3: i386+ppc+x86_64
- main-intel: i386+ppc+x86_64
- main-universal: i386+ppc+ppc64+x86_64
As you can see, the main-x86_64 template is missing. (Also, at least one of the 4, main-intel, is wrong, and none of the 4 are useful anyway given that python was build x86_64-only.)
I tried to manually "lipo main-intel -extract x86_64 -output main-x86_64" as a workaround; after doing so, py2app now fails with ValueError("New Mach-O header is too large to relocate").
I tried using the Python 2.5 packages instead of 2.6, and again got the apptemplate problem.
I then tried building a parallel MacPorts with arch i386, and everything worked fine.
- Cc jmr@… added
- Port set to py26-py2app py25-py2app