[Pythonmac-SIG] Why do I need PantherPythonFix?

Bob Ippolito bob at redivi.com
Mon Feb 21 08:54:39 CET 2005


On Feb 20, 2005, at 11:52 PM, Roger Binns wrote:

>> 10.3.  If none of these references answer those questions, please let  
>> me know and I will try to add additional info to the wiki so that it  
>> is more clear.
>
> I am still baffled by all this stuff.  Apparently Apple came up with  
> this
> mechanism (Frameworks) that allows for easy self containment of an
> environment, as well as allowing for multiple concurrent versions.
> Then they demonstrate the power of this system by only having one  
> version and never updating it per OS version, as well as hard coding
> various things.

They're designed to have multiple concurrent versions installed for  
binary compatibility purposes, and they work fine for that.  They are  
NOT AT ALL designed to be able to facilitate writing software that  
links against a previous version.  However, it's common to have Python  
2.3 and Python 2.4 installed and want to be able to link new software  
against 2.3, so the default framework mechanisms are not suitable for  
this.

http://bob.pythonmac.org/archives/2005/01/05/versioned-frameworks- 
considered-harmful/

> Seperately from that there appears to be some issue with dynamic
> linking.  Apple have their own format (Macho) instead of ELF and the
> issues are akin to LD_LIBRARY_PATH and rpaths hard coded in libraries.

No, not really.  Any issues Python had with Mach-O were because we  
screwed up.

> So if all this Apple invented stuff actually has merit, why isn't
> it used?  And if doesn't have merit, or Apple don't bother using
> it, why not just ignore them and replace it with something that
> does work, has concurrent versions and is updated?

The Mach-O/dyld features are used all over the place.  Versioned  
frameworks are not, because they aren't really that useful and the tool  
support for them is nonexistent.

-bob



More information about the Pythonmac-SIG mailing list