Opened 8 years ago
Closed 7 years ago
#53982 closed defect (fixed)
libpurple @2.12.0: Tk 8.6 must be compiled with tcl.h from Tcl 8.6 or better
Reported by: | arifsaha (S P Arif Sahari Wibowo) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | haspatch | Cc: | ryandesign (Ryan Carsten Schmidt) |
Port: | libpurple |
Description
While trying to install another package, I found that I cannot upgrade libpurple, apparently because, "Tk 8.6 must be compiled with tcl.h from Tcl 8.6 or better." Log file attached. Some info:
bash-3.2# uname -v Darwin Kernel Version 13.4.0: Mon Jan 11 18:17:34 PST 2016; root:xnu-2422.115.15~1/RELEASE_X86_64 bash-3.2# port version Version: 2.4.1 bash-3.2# port list active and 'tcl' Warning: The 'list' action only shows the currently available version of each port. To see installed versions, use the 'installed' action. tcl @8.6.6 lang/tcl bash-3.2# port list active and 'tk' Warning: The 'list' action only shows the currently available version of each port. To see installed versions, use the 'installed' action. tk @8.6.6 x11/tk bash-3.2#
Attachments (2)
Change History (5)
Changed 8 years ago by arifsaha (S P Arif Sahari Wibowo)
comment:1 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign added |
---|---|
Keywords: | haspatch added |
Owner: | set to dbevans |
Status: | new → assigned |
Summary: | Cannot upgrade libpurple, Tk 8.6 need Tcl 8.6 → libpurple @2.12.0: Tk 8.6 must be compiled with tcl.h from Tcl 8.6 or better |
This occurs specifically because MacPorts tcl and tk 8.6 are installed. The configure script finds the macOS copy of tcl and tk 8.5 in /usr/lib:
:info:configure checking for tclConfig.sh... yes (/usr/lib/tclConfig.sh) :info:configure checking Tcl version compatability... ok, 8.5 :info:configure checking for Tcl linkability... yes :info:configure checking for tkConfig.sh... yes (/usr/lib/tkConfig.sh) :info:configure checking for Tk linkability... yes
But then later the build phase erroneously tries to use tk.h from MacPorts in /opt/local/include, which is a different version:
:info:build In file included from tcl.c:28: :info:build /opt/local/include/tk.h:21:3: error: Tk 8.6 must be compiled with tcl.h from Tcl 8.6 or better :info:build # error Tk 8.6 must be compiled with tcl.h from Tcl 8.6 or better :info:build ^
You won't see this problem if you don't have MacPorts tcl and tk active. In that case, libpurple will just link with macOS tcl and tk.
One solution is to add a dependency on MacPorts tcl and tk and add configure flags to tell libpurple how to find it. This solves the problem for me and I'll attach that patch.
I don't know how important tcl/tk support is in libpurple. If it's not important, another option would be to disable tcl/tk support normally, and offer a variant to enable it. Since other ports (including finch and pidgin) depend on libpurple, it's probably best to keep it enabled all the time, unless there are serious problems with doing so.
Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | pidgin.diff added |
---|
comment:2 Changed 7 years ago by mf2k (Frank Schima)
@arifsaha: FYI, see the wiki about port list. To see what you actually have installed, use this command instead:
$ port installed tcl* tk* The following ports are currently installed: tcl @8.6.6_1+corefoundation+threads (active) tk @8.6.6_0+x11 (active)
comment:3 Changed 7 years ago by mf2k (Frank Schima)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
libpurple build log