Opened 14 years ago

Last modified 13 years ago

#27828 closed defect

py26-py2app @0.52 (and py25-py2app) cannot build apps on x86_64 — at Initial Version

Reported by: abarnert@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc:
Port: py26-py2app py25-py2app

Description

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.

Change History (0)

Note: See TracTickets for help on using tickets.