[PyQt] PyQt on OSX Snow Leopard notes

Phil Thompson phil at riverbankcomputing.com
Fri Sep 11 18:31:05 BST 2009

On Fri, 11 Sep 2009 11:34:58 -0500, William Kyngesburye
<woklist at kyngchaos.com> wrote:
> On Sep 11, 2009, at 11:05 AM, Phil Thompson wrote:
>>> It's not so much a problem of Qt supporting Snow (yes, the mkspec
>>> problem, but it seems to be minor), but supporting OSX 64bit, which
>>> covers both Leopard AND Snow.  The standard Carbon-based Mac Qt will
>>> never be 64bit.  Qt Cocoa is 64bit (I have yet to try it out).
>>> And there is now the extra 64bit-ness of Python in Snow now, which
>>> causes trouble with Python-based software.  People WILL update to  
>>> Snow
>>> and WILL (and have already) have problems compiling PyQt.
>>> Since Qt Cocoa may take a while to be fully functional and in common
>>> use, PtQt at least needs some way to deal with a 64bit Python
>>> executable (use the arch command where python/pythonw executed when
>>> built for Qt carbon).
>>> Note: I just figured out the problem with the arch command.  It's not
>>> broken.  There are 2 copies of the python and pythonw executables:  
>>> in /
>>> usr/bin and in the Python framework.  The /usr/bin exe's are not
>>> symlinks to the framework, and have different file sizes.  For some
>>> reason the /usr/bin exe's don't work with arch, but the framework
>>> exe's do.  /usr/bin/python2.6 and /usr/bin/pythonw2.6 ARE symlinks to
>>> the framework.
>> I'm not convinced this is a PyQt problem - even though it affects PyQt
>> users. If you are on a 64 bit system then you would expect to be  
>> building
>> 64 binaries, ie. 64 bit Qt Cocoa, not 32 Qt Carbon.
> Leopard is a 64bit system.  But (probably) because all (except apache)  
> of the Apple-built apps are still 32bit, gcc 4.0 compiles 32bit by  
> default.  You can still compile for 64bit if you want (and the needed  
> components support it - all system libraries and frameworks are 64bit,  
> even the python libraries, except the wxpython stuff).
>> I assume that when Qt
>> "properly" supports Snow Leopard then that would be the default on  
>> 64 bit
>> systems. In which case the standard build process, and pyuic, will  
>> continue
>> to work.
>> The current problems seem to be due to Qt being slow to support Snow
>> Leopard, or maybe just slow to make Cocoa the default. I don't think  
>> PyQt
>> should be expected to work around this temporary situation. I'd  
>> change my
>> mind if you were to say that the Cocoa support was flakey and people  
>> will
>> be sticking with Qt Carbon for some time to come.
> Qt Cocoa is valid on Leopard (32 & 64bit).  While the system Python  
> executable is not 64bit, eventually the python.org Python should be.   
> And Qt Carbon on Snow is also just as valid, and will probably be  
> supported (when it's official) for a long time (at least the lifetime  
> of Leopard), even when Qt Cocoa is standard.

As I understand it Carbon support will be dropped after Qt v4.7 (ie. after
the release that Cocoa becomes the default). I would expect Leopard to be
supported for longer.

I accept that Qt Carbon on Snow Leopard will be a valid combination for at
least a year.


More information about the PyQt mailing list