Opened 4 months ago

Last modified 2 months ago

#56984 reopened defect

tkcvs 7.2.1 uses wish8.4, which doesn't exist on High Sierra

Reported by: snarkhunter (Steve Langer) Owned by: mf2k (Frank Schima)
Priority: Normal Milestone:
Component: ports Version: 2.5.3
Keywords: highsierra Cc:
Port: tkcvs

Description

tkcvs has a run dependency on wish8.4, which doesn't exist on High Sierra. Sierra provided /usr/bin/wish8.4 and 8.5, but High Sierra only provides 8.5. Changing wish8.4 to wish8.5 in the depends_run and post-destroot lines in the Portfile leads to a run time error in tkdiff:

% tkdiff
Error in startup script: expected integer but got "bold"
    (processing "-font" option)
    invoked from within
".client.left.text tag configure inlinetag -background DodgerBlue -font {TkFixedFont bold}"
    ("eval" body line 1)
    invoked from within
"eval "$widget tag configure $tag $opts($tag)""
    (procedure "build-client" line 104)
    invoked from within
"build-client"
    (procedure "create-display" line 39)
    invoked from within
"create-display"
    (procedure "main" line 33)
    invoked from within
"main"
    (file "/opt/local/bin/tkdiff" line 10319)

Without changing the tkcvs Portfile, the dependency falls back to installing tk, which then installs all sorts of X11 libraries (which is weird and inconvenient when building tkcvs with +quartz -x11 but maybe not actually wrong). The tk port provides /opt/local/bin/wish8.6, but changing wish8.4 to wish8.6 in the tkcvs Portfile leads to the same run time error as above.

Change History (8)

comment:1 Changed 4 months ago by snarkhunter (Steve Langer)

I should have mentioned that I'm using -x11 +no_x11 +quartz in variants.conf. I don't know if that matters.

comment:2 Changed 4 months ago by mf2k (Frank Schima)

FYI, the +no_x11 variant was removed from all ports years ago.

comment:3 Changed 4 months ago by mf2k (Frank Schima)

Removed my comment. I see the problem. Hmmm, maybe we need to re-instate the tk84 port?

Last edited 4 months ago by mf2k (Frank Schima) (previous) (diff)

comment:4 Changed 4 months ago by mf2k (Frank Schima)

Based on the sourceforge page, the latest version is 8.2.3. Maybe it works with tk 8.6 now?

comment:5 Changed 4 months ago by mf2k (Frank Schima)

It looks like version 8.2.3 works with tk 8.5 and so that should work for High Sierra. I'm working on updating the port.

comment:6 Changed 4 months ago by mf2k (Frank Schima)

Owner: set to mf2k
Resolution: fixed
Status: newclosed

In cded07c6f5401a9a5482e22c77f83d3f94e9dc83/macports-ports (master):

tkcvs: Update to version 8.2.3

  • Switch to tk 8.5 / wish8.5
  • Now works on High Sierra

Fixes: #56984

comment:7 in reply to:  2 Changed 4 months ago by snarkhunter (Steve Langer)

Replying to mf2k:

FYI, the +no_x11 variant was removed from all ports years ago.

Thanks. I didn't know that. It's still suggested in the comments in variants.conf, which is why I used it.

comment:8 Changed 2 months ago by mf2k (Frank Schima)

Resolution: fixed
Status: closedreopened

Here is what @ryandesign said about this:

The tk port doesn't provide a wish8.5 executable; it provides a wish8.6 executable (and a wish symlink pointing to it, so you don't need to refer to it by version number).

Mac OS X 10.6 and later include wish8.5. Earlier versions of Mac OS X had wish8.4.

So it sounds like this port is really using macOS tk, and it should probably be switched to use MacPorts tk (assuming this software is compatible with tcl/tk 8.6). If it isn't, then the port should be reworked to remove this dependency and to use the correct version of wish for the current OS.

Note: See TracTickets for help on using tickets.