[Pythonmac-SIG] Building 32-bit on Snow Leopard with tkinter/IDLE (was: Recommended Tcl/Tk with Py-2.6.x)

Tom Loredo loredo at astro.cornell.edu
Sun Mar 7 21:27:33 CET 2010


Quoting Ronald Oussoren <ronaldoussoren at mac.com>:

> >  If we *deploy* for 10.4 or 10.5
> > while building on Snow Leopard, can we get a 32-bit intel executable
> > via a universal ppc/i386 build?
> 
> configure --enable-framework --enable-universalsdk
> make
> make install
> 
> This builds a framework install that contains ppc and i386 code. 

Thanks, Ronald.  According to the Mac/README file, "--enable-universalsdk"
should set a path to an appropriate SDK when used on 10.5 or later. 
"--enable-universalsdk=/" should find an appropriate default, but
Ned alerted me that it isn't guaranteed to work in all combinations (there
are so many different option combinations in the configuration that
I suspect not all have been tested/verified).  He suggested that,
to play it safe, the configure command should specify the SDK explicitly
(full path to the 10.4, 10.5, or 10.6 SDK), as well as set 
--with-universal-archs (choices are in the Mac/README) and 
MACOSX_DEPLOYMENT_TARGET (which unfortunately isn't discussed in
the README).

Regarding building 32-bit *alone* on Snow Leopard, I've been having
luck with this, based on a post in a Python bug tracker issue on
readline problems:

./configure --prefix=/usr/local/tmp --enable-framework\
        BASECFLAGS="-arch i386" \
        CFLAGS="-arch i386" \
        LDFLAGS="-arch i386" \
        MACOSX_DEPLOYMENT_TARGET=10.6

(of course, set the prefix as you need to).

It also works deploying for 10.5.  I'm not setting the universalsdk
here, since I'm not building a universal binary; I hope I'm right
that it's not necessary.  In any case, it's passing the expected
tests.  I'm using Py-2.6.5rc1.

I was really asking about how to build, on Snow Leopard, a 32-bit
version with a *working* tkinter and IDLE.  I finally figured out
a way to modify setup.py to do this (building against Apple's 
Tcl/Tk 8.4).  It gives an i386 Python framework that passes the tcl
tests, with a working IDLE.  I'll post the details shortly in case
it's of use to anyone, but it's a kind of ugly hack.  I don't know
if this is interesting enough that I should post the patch on
the Python issue tracker; if so, I'd appreciate a pointer to a
relevant thread.

-Tom


-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/


More information about the Pythonmac-SIG mailing list