Opened 10 years ago
Closed 10 years ago
#45444 closed defect (fixed)
tk: runtime version check fails on Yosemite
Reported by: | seh@… | Owned by: | larryv (Lawrence Velázquez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.1 |
Keywords: | yosemite | Cc: | radaroutthere@…, inyeollee, reg6@…, sean.connell@…, howarth@…, promac@…, mww@…, iaindhay@… |
Port: | tk |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
After upgrading to Mac OS Yosemite, I find that wish fails to start (when invoked via gitk) due to a failure in checking the operating system version:
wish[19322]: WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.0 instead of 10.10.0. Use NSProcessInfo's operatingSystemVersion property to get correct system version number.
Find a Mac OS crash report attached.
Attachments (1)
Change History (18)
Changed 10 years ago by seh@…
Attachment: | wish8.6_2014-10-18-092720_Spindle.crash added |
---|
comment:1 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|---|
Owner: | changed from macports-tickets@… to mww@… |
Summary: | wish fails to start on Yosemite due to Gestalt version check → tk: wish fails to start on Yosemite due to Gestalt version check |
comment:2 Changed 10 years ago by ned-deily (Ned Deily)
Actually, I believe the Gestalt version check is non-fatal.
The critical issue that causes the crash is a now faulty version check in Tk's macosx/tkMacOSXInit.c which results in the message:
Mac OS X 10.10000 or later required !
I have opened a Tk
bug for this problem: https://core.tcl.tk/tk/tktview?name=1d37c3e166. Note that this problem applies to all users of Cocoa Tk (+quartz
variant), like Python's IDLE
or other Tkinter
-based applications. They are all totally broken. However, this issue does not affect the +x11
variant of Tk.
comment:4 Changed 10 years ago by radaroutthere@…
comment:6 Changed 10 years ago by larryv (Lawrence Velázquez)
Cc: | reg6@… sean.connell@… howarth@… added |
---|
comment:8 Changed 10 years ago by radaroutthere@…
The official fix for this issue has now been written - http://core.tcl.tk/tk/fdiff?v1=64b03ec85cc27fe4de1c03503ffdb2c89f598b3a&v2=7223ddf5d435778396ac2eef3f77f283b5c06394&sbs=1
So either this can be applied as a patch, or the Tk / Tcl ports could be upgraded to the 8.6.3 rc.
comment:9 Changed 10 years ago by larryv (Lawrence Velázquez)
Cc: | mww@… added |
---|---|
Owner: | changed from mww@… to larryv@… |
Status: | new → assigned |
Is this a compile-time or run-time problem?
comment:10 follow-up: 12 Changed 10 years ago by radaroutthere@…
If I'm following correctly, the "Mac OS X 10.10000 or later required !" error message is generated at run-time, yes.
comment:11 Changed 10 years ago by larryv (Lawrence Velázquez)
I’ve applied the upstream fix in r127151. Could someone verify that 8.6.1_2 works properly?
comment:12 Changed 10 years ago by davedgd@…
Replying to radaroutthere@…:
If I'm following correctly, the "Mac OS X 10.10000 or later required !" error message is generated at run-time, yes.
Correct:
comment:13 Changed 10 years ago by radaroutthere@…
Yes, the patch is working correctly. Thanks very much!
comment:14 follow-up: 15 Changed 10 years ago by promac@…
Yes. It is working for me too.
Just a curiosity. Why did you use a
# Remove when updated to 8.6.3 (#45444). patchfiles-append fix-yosemite-version-checking.patch
Just to make sure it was the last patch applied?
Thanks.
comment:15 Changed 10 years ago by larryv (Lawrence Velázquez)
Summary: | tk: wish fails to start on Yosemite due to Gestalt version check → tk: runtime version check fails on Yosemite |
---|
Replying to promac@…:
Just a curiosity. Why did you use a
# Remove when updated to 8.6.3 (#45444). patchfiles-append fix-yosemite-version-checking.patch
To avoid changing other lines in the Portfile. I don’t like when svn blame
tells me that line x was last changed in changeset y, only to find out that that all changeset y did was append a backslash or replace tabs with spaces. It’s undeniably unavoidable in many cases, but I try to avoid it when I can. For instance, I commit aesthetic changes before functional ones, so that the functional changesets all show up in svn blame
.
In this case, I just added two new lines without touching anything else. When 8.6.3 shows up, these two lines just get deleted. Nice and clean.
comment:17 Changed 10 years ago by larryv (Lawrence Velázquez)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Mac OS crash report for wish