Opened 11 years ago

Closed 11 years ago

#1843 closed defect (fixed)

grass-6.4.2 doesn't compile with tk-8.6.0

Reported by: syntaxerrormmm Owned by: grass-dev@…
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)

make.log (5.2 KB ) - added by syntaxerrormmm 11 years ago.
Log file for 'make' launched inside visualization/nviz/src
grass-tk86-fix.patch (381 bytes ) - added by syntaxerrormmm 11 years ago.
Patch for fixing the tcl/tk 8.6 issue

Download all attachments as: .zip

Change History (16)

by syntaxerrormmm, 11 years ago

Attachment: make.log added

Log file for 'make' launched inside visualization/nviz/src

comment:1 by martinl, 11 years ago

Component: DefaultCompiling
Priority: normalcritical

comment:2 by syntaxerrormmm, 11 years ago

CPU: x86-64Unspecified

Verified also on i686. Cannot confirm for other platforms, sorry.

in reply to:  2 comment:3 by martinl, 11 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 martinl, 11 years ago

Priority: criticalblocker

comment:5 by syntaxerrormmm, 11 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?

in reply to:  5 ; comment:6 by martinl, 11 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.

in reply to:  6 comment:7 by syntaxerrormmm, 11 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.

in reply to:  description comment:8 by mmetz, 11 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 marisn, 11 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.

by syntaxerrormmm, 11 years ago

Attachment: grass-tk86-fix.patch added

Patch for fixing the tcl/tk 8.6 issue

comment:10 by syntaxerrormmm, 11 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.

comment:11 by yarma, 11 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

in reply to:  11 ; comment:12 by mmetz, 11 years ago

Replying to yarma:

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 !

I have applied the fix for GRASS 6 in r54796-7. Please test!

Markus M

in reply to:  12 comment:13 by msieczka, 11 years ago

Replying to mmetz:

I have applied the fix for GRASS 6 in r54796-7. Please test!

I have just built releasebranch_6_4 and develbranch_6 on Arch against tcl/tk 8.6.0, and given tcl/tk startup, gis.m and NVIZ a quick spearfish60 tour in both builds. No problems noticed.

comment:14 by martinl, 11 years ago

Resolution: fixed
Status: newclosed

Seems to be solved, so closing this ticket. Feel free to re-open if needed.

Note: See TracTickets for help on using tickets.