Ticket UUID: | 736774 | |||
Title: | Mac OS X: incorrect runtime library found | |||
Type: | Bug | Version: | obsolete: 8.4.2 | |
Submitter: | das | Created on: | 2003-05-13 01:23:18 | |
Subsystem: | 68. Mac Classic (obsolete) | Assigned To: | das | |
Priority: | 9 Immediate | Severity: | ||
Status: | Closed | Last Modified: | 2003-05-22 08:23:27 | |
Resolution: | Fixed | Closed By: | das | |
Closed on: | 2003-05-22 01:23:27 | |||
Description: |
On Mac OS X with the framework build: When multiple major/minor versions of Tcl.framework (resp. Tk.framework) are installed (e.g. both 8.4 and 8.5), only the latest version of the runtime library in the framework bundle resources can be accessed through the Tcl_MacOSXOpenBundleResources() API, this leads to startup failure, e.g. in the above example, tclsh8.4 startup will fail because the 8.5 runtime library will be found in Tcl.framework/Resources/Scripts. Instead Tcl.framework/ Versions/8.4/Resources/Scripts should be used. A new API, Tcl_MacOSXOpenVersionedBundleResources(), needs to be introduced, taking the current TCL_VERSION (resp. TK_VERSION) as an additional argument. | |||
User Comments: |
das added on 2003-05-22 08:23:27:
File Deleted - 50209: File Added - 50951: tcl.diff Logged In: YES user_id=90580 attached updated tcl patch with fix for a problem that caused only the first call to Tcl_MacOSXOpenVersionedBundleResources() for a given bundle identifier to succeed. This caused the tcl runtime library not to be found in all interps created after the inital one. fix checked in to core-8-4-branch and HEAD. das added on 2003-05-13 15:44:22: Logged In: YES user_id=90580 yes if would be good if CFBundle handled versioning... maybe something worh opening a Radar about? committed attached patches to core-8-4-branch and HEAD. wolfsuit added on 2003-05-13 12:36:43: Logged In: YES user_id=169107 Daniel, this seems great. There really should be versioned API's for all this stuff in the CFBundle API, but short of that - which is beyond our control, this will do. Check it on in! das added on 2003-05-13 08:27:55: File Added - 50210: tk.diff das added on 2003-05-13 08:26:58: File Added - 50209: tcl.diff das added on 2003-05-13 08:26:57: Logged In: YES user_id=90580 The attached patches add Tcl_MacOSXOpenVersionedBundleResources() and use it in tclUnixInit.c resp. tkMacOSXInit.c instead of Tcl_MacOSXOpenBundleResources(). The patches are against core-8-4-branch, the same changes will be made on the trunk. It's crucial that this go into 8.4 before 8.5 is widely deployed, otherwise 8.5 installs will break existing 8.4 software. If at all possible, this should go into 8.4.3 Jim, could you review this for checkin? |