[Pythonmac-SIG] Build hell resolved: 10.4/10.5/10.6

Norman Khine norman at khine.net
Mon Mar 22 10:10:03 CET 2010


Perhaps it would have been simpler to use the MacPorts package
manager, if you had it installed.
$ port deps py26-pyobjc
Full Name: py26-pyobjc @2.2
Build Dependencies:   py26-pyobjc2
Library Dependencies: py26-setuptools, py26-py2app


On Thu, Mar 4, 2010 at 8:00 PM, Aahz <aahz at pythoncraft.com> wrote:
> [cross-posted to both pythonmac-sig and pyobjc-dev for max audience,
> Reply-To set to pyobjc-dev for discussion]
>
> I finally figured out how to build my app:
>
> Turns out that in order to use PyObjC 2.2 you need py2app 0.4.3 -- but
> PyObjC 1.4 needs py2app 0.3.6.  (PyObjC 1.4 is for the main app running
> on 10.4/10.5/10.6; PyObjC 2.2 is used for FSEvents on 10.5/10.6,
> previously PyObjC 2.2b2 for 10.5 only, but 2.2b2 doesn't work on 10.6)
>
> I built PyObjC 2.2 on 10.5 from source.  It's a right royal pain (partly
> because PyPI has no mechanism for downloading *source* dependencies), and
> I really hope that the next release of PyObjC makes it much easier to
> build from source.  (Or that binaries for 10.5 get included.)
>
> My clue that py2app was the issue was when I figured out that
>
> from Foundation import NSAutoreleasePool, NSMutableArray, NSString
>
> causing
>
> ValueError: Don't know CF type for typestr '^{__CFAllocator=}', cannot create special wrapper
>
> only and always occurred in a build, not from plain Python, even on 10.6,
> meaning that PyObjC wasn't the problem.
>
> Incidentally, using py2app 0.4.3 with PyObjC 1.4 resulted in some error
> about corrupted NIB file that I didn't record exactly.
>
> Before someone asks how I can use both PyObjC 1.4 and PyObjC 2.2, I'm
> playing games with ~/Library/Python/2.6 being a symlink that gets swapped
> during the build process.  (Obviously, I end up with two different apps
> built.)
> --
> Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/
>
> "Many customs in this life persist because they ease friction and promote
> productivity as a result of universal agreement, and whether they are
> precisely the optimal choices is much less important." --Henry Spencer
> _______________________________________________
> Pythonmac-SIG maillist  -  Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
> unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG
>



-- 
¿noʎ uɐɔ uʍop ǝpısdn ǝʇıɹʍ uɐɔ ı
%>>> "".join( [ {'*':'@','^':'.'}.get(c,None) or
chr(97+(ord(c)-83)%26) for c in ",adym,*)&uzq^zqf" ] )


More information about the Pythonmac-SIG mailing list