[GRASS-dev] [GRASS GIS] #1843: grass-6.4.2 doesn't compile with tk-8.6.0

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone: 6.4.3
Component: Default | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: x86-64 |
----------------------------+-----------------------------------------------
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).

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: critical | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: x86-64 |
----------------------------+-----------------------------------------------
Changes (by martinl):

  * priority: normal => critical
  * component: Default => Compiling

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: critical | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------
Changes (by syntaxerrormmm):

  * cpu: x86-64 => Unspecified

Comment:

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

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: critical | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(by martinl):

Replying to [comment:2 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?

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------
Changes (by martinl):

  * priority: critical => blocker

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(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?

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(by martinl):

Replying to [comment:5 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.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:6&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(by syntaxerrormmm):

Replying to [comment:6 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.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:7&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(by mmetz):

Replying to [ticket:1843 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

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:8&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(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.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:9&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(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.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:10&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(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

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:11&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(by mmetz):

Replying to [comment:11 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

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:12&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
----------------------------+-----------------------------------------------
Reporter: syntaxerrormmm | Owner: grass-dev@…
     Type: defect | Status: new
Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Keywords: | Platform: Linux
      Cpu: Unspecified |
----------------------------+-----------------------------------------------

Comment(by msieczka):

Replying to [comment:12 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.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:13&gt;
GRASS GIS <http://grass.osgeo.org>

#1843: grass-6.4.2 doesn't compile with tk-8.6.0
-----------------------------+----------------------------------------------
  Reporter: syntaxerrormmm | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: blocker | Milestone: 6.4.3
Component: Compiling | Version: 6.4.2
Resolution: fixed | Keywords:
  Platform: Linux | Cpu: Unspecified
-----------------------------+----------------------------------------------
Changes (by martinl):

  * status: new => closed
  * resolution: => fixed

Comment:

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

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/1843#comment:14&gt;
GRASS GIS <http://grass.osgeo.org>