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
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig