[Pythonmac-SIG] Communicating With Apple

Bugbee, Larry larry.bugbee@boeing.com
Tue, 15 Apr 2003 14:04:00 -0700


WWDC is in late June.  That may be too late for Panther.

Larry

-----Original Message-----
From: Bob Ippolito [mailto:bob@redivi.com]
Sent: Tuesday, April 15, 2003 1:57 PM
To: Nick Matsakis
Cc: pythonmac-sig@python.org
Subject: Re: [Pythonmac-SIG] Communicating With Apple



On Tuesday, Apr 15, 2003, at 16:36 America/New_York, Nick Matsakis=20
wrote:

> On Sat, 12 Apr 2003, Bob Ippolito wrote:
>
>> I'd make it easy for the user who is compiling Python 2.3 to decide
>> whether they want /System/Library/Python or not.  Whoever maintains
>> Python for Apple would probably appreciate this, because that's their
>> style, and we can all cross our fingers and hope that 2.3 will be
>> compiled and distributed PROPERLY with OS X 10.3.X or 10.4.
>
> It seem to me that this is much, much too important of an issue to =
just
> hope Apple gets right.  I've already asked on this list: "_Why_ did=20
> Apple
> include Python with 10.2?" and it seems that no one knew the answer. I
> think this is a vital question and that now is the time to address it, =

> not
> after Panther comes out.
>
> The reason to ask "why?" is that the answer provides a sense of where
> Apple is coming from.  If Python was included simply as a part of=20
> Darwin,
> then there is no reason to expect that Pather will include anything=20
> more
> than a vanilla-unix Python installation since Darwin does not include=20
> the
> carbon frameworks or other "Mac" libraries.  If it is included as a=20
> "Mac
> OS X" feature, then it is important to ensure that they provide a=20
> stable
> version where the Macpython extensions work as expected.  In either=20
> case,
> communication with Apple at this point is important.
>
> Is anyone in a position to answer these questions?  Or, is anyone who
> is going to WWDC willing to bring up these issues?

Just to clarify, it is hardly sufficient even as a Darwin version of=20
Python:

1) dyld
The dynamic linker is busted.. it uses a completely flat namespace=20
somehow (not related to the -flat_namespace flag), an extension named=20
time.so in builtins is considered the same as one named pygame/time.so=20
in another package.  It recognizes that they both exist, but only ends=20
up loading one of the two.  This is a problem, and is unfixable without=20
recompiling Python itself (dyld isn't and can't be a dynamically linked=20
module)  They _obviously_ didn't test this at all because.....

2) distutils
Distutils is broken (won't compile extensions) because of the notorious=20
-arch i386 in the Makefile.. If anyone at Apple actually used Python,=20
they'd probably have noticed this?  It also uses -flat_namespace=20
instead of doing it -bundle_loader style, why?  I modified mine to use=20
two-level namespaces (to resolve some issues with SWIG) and=20
bundle_loader, and it works just fine even with their broken python=20
executable.

3) missing modules
It doesn't have expat, even though expat is part of the Python source=20
tree.  Plist files are everywhere, and stock python can't parse XML=20
without the expat module (although Twisted comes with a pure python=20
sax-like parser and minidom replacement.. so this doesn't bother me=20
personally too much).

It doesn't have readline, which is pretty essential to using python=20
interactively on the command line.. this can be pretty easily compiled=20
with instructions from bbum, but come on.

It doesn't have ssl support, which I guess doesn't matter so much=20
because python's ssl module is pretty crummy compared to pyopenssl.

4) Python 2.2.0 has a lot of issues as-is
Python 2.2.0 was a buggy release, it has problems with the gc module..=20
seems to have problems with the weakref module, and new style classes=20
are broken in some respects (__new__ is the primary example, I think).

----

In any case, I plan on going to WWDC (I have a ticket, at least).. so=20
perhaps I'll have the opportunity to bring up this concern.  At the=20
least, I expect (well, hope) Apple releases Panther with a clean=20
version of Python 2.2.2 that has the above 4 issues resolved. =20
Backports of most Macpython 2.3 modules/features are relatively trivial=20
once you know what you're doing, but doing them to a broken Python is=20
too much work, and sometimes you just run into things that you can't=20
fix.

-bob


_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig