Ticket #1843 (closed defect: fixed)

Opened 23 months ago

Last modified 22 months ago

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:
Platform: Linux CPU: Unspecified

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

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

Change History

Changed 23 months ago by syntaxerrormmm

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

  Changed 23 months ago by martinl

  • priority changed from normal to critical
  • component changed from Default to Compiling

follow-up: ↓ 3   Changed 23 months ago by syntaxerrormmm

  • cpu changed from x86-64 to Unspecified

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

in reply to: ↑ 2   Changed 23 months ago by martinl

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?

  Changed 23 months ago by martinl

  • priority changed from critical to blocker

follow-up: ↓ 6   Changed 23 months ago by 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?

in reply to: ↑ 5 ; follow-up: ↓ 7   Changed 23 months ago by martinl

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   Changed 23 months ago by syntaxerrormmm

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   Changed 23 months ago by mmetz

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

  Changed 23 months ago by marisn

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.

Changed 22 months ago by syntaxerrormmm

Patch for fixing the tcl/tk 8.6 issue

  Changed 22 months ago by syntaxerrormmm

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   Changed 22 months ago by 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 !

Sylvain

in reply to: ↑ 11 ; follow-up: ↓ 13   Changed 22 months ago by mmetz

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   Changed 22 months ago by msieczka

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.

  Changed 22 months ago by martinl

  • status changed from new to closed
  • resolution set to fixed

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

Note: See TracTickets for help on using tickets.