Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#21222 closed defect (fixed)

Python26 won't build universal i386 + x86_64 binaries on SL

Reported by: Veence (Vincent) Owned by: blb@…
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: Universal Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: python26

Description

The hack used to get two way Intel universal binaries in the Portfile of python26 (in the post_patch phase) is inefficient: the configure file is not executed: because use_autoconf is set to yes, a fresh configure derived from configure.in is generated and run instead, and the standard build scheme of python won't let you choose precisely what architectures you want (e.g. you can build 32-bit, 64-bit, 4 way, but not 2-way Intel).

I'll post a series of patches tomorrow.

Attachments (3)

Portfile.diff (2.4 KB) - added by Veence (Vincent) 15 years ago.
patch-universal-flags.diff (1.3 KB) - added by Veence (Vincent) 15 years ago.
patch-Makefileprein.diff (736 bytes) - added by Veence (Vincent) 15 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 15 years ago by Veence (Vincent)

Here are the patches. The concern :

  • The portfile itself
  • Configure.in, modified in a way to introduce a new option --with-universal-arch-flags that sets the corresponding variable afterwards
  • Makefile.pre.in, which, in the case of 64-bit build, is changed to avoid testing some scripts that use Carbon (Carbon cannot be built in 64-bit mode). This one is rather rough, it is probably possible and even recommended to improve it.

With this patches, I correctly compile a x86_64/i386 version of Python. But I don't get Pythonw.

Please can someone test the changes? Thanks.

Changed 15 years ago by Veence (Vincent)

Attachment: Portfile.diff added

Changed 15 years ago by Veence (Vincent)

Attachment: patch-universal-flags.diff added

Changed 15 years ago by Veence (Vincent)

Attachment: patch-Makefileprein.diff added

comment:2 Changed 15 years ago by mf2k (Frank Schima)

Cc: mcalhoun@… added
Owner: changed from macports-tickets@… to blb@…
Port: python26 added; Python26 removed

comment:3 Changed 15 years ago by jmroot (Joshua Root)

Just changing the current universal reinplaces to configure.in rather than configure seems to work fine (and you get pythonw).

comment:4 Changed 15 years ago by blb@…

Resolution: fixed
Status: newclosed

Fixed in r57368, thanks Josh for the simpler fix (tested on 10.5.8 Intel, Xcode 3.1.3, both on a MacPorts for i386+ppc and one for i386+x86_64).

comment:5 Changed 15 years ago by Veence (Vincent)

Great! Thanks!

Note: See TracTickets for help on using tickets.