Opened 12 years ago
Closed 12 years ago
#1843 closed defect (fixed)
grass-6.4.2 doesn't compile with tk-8.6.0
Reported by: | syntaxerrormmm | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | 6.4.3 |
Component: | Compiling | Version: | 6.4.2 |
Keywords: | Cc: | ||
CPU: | Unspecified | Platform: | Linux |
Description
OS: ArchLinux (rolling release) Behaviour: compiling GRASS from source (6.4.2) fails when building NVIZ with the attached error.
It seems that the required function (TkCopyAndGlobalEval) has been removed from the TK toolkit (8.6.0).
Attachments (2)
Change History (16)
by , 12 years ago
comment:1 by , 12 years ago
Component: | Default → Compiling |
---|---|
Priority: | normal → critical |
follow-up: 3 comment:2 by , 12 years ago
CPU: | x86-64 → Unspecified |
---|
Verified also on i686. Cannot confirm for other platforms, sorry.
comment:3 by , 12 years ago
Replying to syntaxerrormmm:
Verified also on i686. Cannot confirm for other platforms, sorry.
related to source:grass/branches/releasebranch_6_4/visualization/nviz/src/draw.c#L35
any tcl/tk guru here?
comment:4 by , 12 years ago
Priority: | critical → blocker |
---|
follow-up: 6 comment:5 by , 12 years ago
I can confirm grass_7 from SVN does compile fine on tk-8.6.0 (x86_64). Is there any ways to backport changes made to NVIZ to 6.4 branch?
follow-up: 7 comment:6 by , 12 years ago
Replying to syntaxerrormmm:
I can confirm grass_7 from SVN does compile fine on tk-8.6.0 (x86_64). Is there any ways to backport changes made to NVIZ to 6.4 branch?
there is *no* TCL/TK code in GRASS 7, it's reason why compiles fine against TCL/TK 8.6.
comment:7 by , 12 years ago
Replying to martinl:
there is *no* TCL/TK code in GRASS 7, it's reason why compiles fine against TCL/TK 8.6.
Ok, sorry, I didn't follow GRASS 7 development.
I'm trying to make a package of GRASS for ArchLinux, so probably the best way (by my side) is to require a version of TK < 8.6.0, hoping that you can fix it in the meantime. I should also notice the maintainer of the 7-svn package, since TCL/TK shouldn't be a requirement anymore.
comment:8 by , 12 years ago
Replying to syntaxerrormmm:
OS: ArchLinux (rolling release) Behaviour: compiling GRASS from source (6.4.2) fails when building NVIZ with the attached error.
It seems that the required function (TkCopyAndGlobalEval) has been removed from the TK toolkit (8.6.0).
Within Tcl/Tk,
TkCopyAndGlobalEval(interp, command);
has been replaced with
Tcl_EvalEx(interp, command, -1, TCL_EVAL_GLOBAL);
see
http://rkeene.org/projects/tcl/tk.fossil/ci/bd1165a06d?sbs=0
Maybe the equivalent
Tcl_EvalEx(cancel_interp, cancel_script, -1, TCL_EVAL_GLOBAL);
works for GRASS 6? Tcl_EvalEx
exists in previous versions of Tcl/Tk (8.5 + 8.4).
Markus M
comment:9 by , 12 years ago
I tested Markus M proposed Tcl_EvalEx change and didn't observe any side effects with tcl 8.6 I would say +1 for commiting.
comment:10 by , 12 years ago
Hi all,
I apologize for the long delay. I just tested compiling GRASS 6.4.2 on Archlinux with Tcl/Tk 8.6 and it is compiling fine, on both architectures x86_64 and i686, using the attached patch (as proposed by Markus M). I cannot check the real functionality of the fix since I don't have any idea on how the change would impact on GRASS functionalities.
But +1 for committing.
follow-up: 12 comment:11 by , 12 years ago
hi,
applied the fix on draw.c and it's compiling again without error ... didn't test if there is side effect, but it seems to be working !
Sylvain
follow-up: 13 comment:12 by , 12 years ago
comment:13 by , 12 years ago
comment:14 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Seems to be solved, so closing this ticket. Feel free to re-open if needed.
Log file for 'make' launched inside visualization/nviz/src