[GRASS5] Re: Tcl8.4 support?

Hamish hamish_nospam at yahoo.com
Mon Oct 27 03:36:29 EST 2003


An update along the lines of this thread:
http://article.gmane.org/gmane.comp.gis.grass.devel/2026
Debian has since updated TclTk.


Not much time to work on this right now, but just to note that a problem 
still exists. (although in a slightly different place?)



Running 5.0.3rc5's NVIZ on Debian/testing (Sarge) Oct27-2003 with TclTk 8.4.

with:
gcc 3.3.2 20031005 (Debian prerelease)
glibc 2.3.2-7
tcl, tk, tcl-dev, tk-dev: version 8.4.4-1
Linux 2.4.21 i686


both with & without the -lpthread fix.
 (the unmodified version now no longer locks up with TclTk 8.4.4)


-=-=-=-

compiler flags:
CFLAGS="-O3 -march=i686 -Wall" LDFLAGS="-s" ./configure [...]

GRASS:~ > nviz -q
[everything starts ok]

{perspective slider}

"Application Error" dialog [Details >>]:
can't read "Priv(.top2.panelarea.panels.main.bframe.pers.scale,relief)": no such element in array
can't read "Priv(.top2.panelarea.panels.main.bframe.pers.scale,relief)": no such element in array
    while executing
"$w configure -sliderrelief $Priv($w,relief)"
    (procedure "tk::ScaleEndDrag" line 4)
    invoked from within
"tk::ScaleEndDrag .top2.panelarea.panels.main.bframe.pers.scale"
    (command bound to event)
    
  [OK] [Skip Messages] [Save to Log]
    

{height slider}

"Application Error" dialog [Details >>]:
can't read "Priv(.top2.panelarea.panels.main.midf.height.scale,relief)": no such element in array
can't read "Priv(.top2.panelarea.panels.main.midf.height.scale,relief)": no such element in array
    while executing
"$w configure -sliderrelief $Priv($w,relief)"
    (procedure "tk::ScaleEndDrag" line 4)
    invoked from within
"tk::ScaleEndDrag .top2.panelarea.panels.main.midf.height.scale"
    (command bound to event)

  [OK] [Skip Messages] [Save to Log]


{zexag slider}

"Application Error" dialog [Details >>]:
can't read "Priv(.top2.panelarea.panels.main.midf.zexag.scale,relief)": no such element in array
can't read "Priv(.top2.panelarea.panels.main.midf.zexag.scale,relief)": no such element in array
    while executing
"$w configure -sliderrelief $Priv($w,relief)"
    (procedure "tk::ScaleEndDrag" line 4)
    invoked from within
"tk::ScaleEndDrag .top2.panelarea.panels.main.midf.zexag.scale"
    (command bound to event)
    
  [OK] [Skip Messages] [Save to Log]
  

Panel -> Surfaces -> [New]

child killed: segmentation violation
    while executing
"exec /usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/etc/nviz2.2/NVWISH2.2 -f /usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/etc/nviz2.2/sc..."
    ("eval" body line 1)
    invoked from within
"eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f $env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script $argv -name NVIZ >&@stdout"
    invoked from within
"if {$argv == ""} {
#no arguments 
eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f $env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script -name NVIZ >&@stdo..."
    (file "/usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/bin/nviz" line 16)
GRASS:~ > 


-=-=-=-


GRASS:~ > nviz elev=topo_rast
[NVIZ starts, displays 3D grid of DEM, then instantly exits with the following]
...
The papers are available at
http://www2.gis.uiuc.edu:2280/modviz/
Loading Data
Loading Data
translating colors from fp
Adding panels from /usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/etc/nviz2.2/scripts
Nv_(panels)
toplevel made
info widget made
panel area made
file menu made
Help menu made
disabled made
Nv_mkPanelMenu 1
child killed: segmentation violation
    while executing
"exec /usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/etc/nviz2.2/NVWISH2.2 -f /usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/etc/nviz2.2/sc..."
    ("eval" body line 1)
    invoked from within
"eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f $env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script $argv -name NVIZ >&@stdout"
    invoked from within
"if {$argv == ""} {
#no arguments 
eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f $env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script -name NVIZ >&@stdo..."
    (file "/usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/bin/nviz" line 16)
GRASS:~ > 

-=-=-=-

Compiling with:
CFLAGS="-march=i686 -Wall" LDFLAGS="-s" ./configure [...]
or
CFLAGS="-DDEBUG_MSG -march=i686 -Wall" LDFLAGS="-s" ./configure [...]

[i.e. without -O3] makes it break sooner, and in a slightly different place:

GRASS:~ > nviz -q
...
The papers are available at
http://www2.gis.uiuc.edu:2280/modviz/
Adding panels from /usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/etc/nviz2.2/scripts
Nv_(panels)
toplevel made
calling Togl_SwapBuffers...
Togl_SwapBuffers returns.
calling Togl_SwapBuffers...
Togl_SwapBuffers returns.
calling Togl_SwapBuffers...
Togl_SwapBuffers returns.
calling Togl_SwapBuffers...
Togl_SwapBuffers returns.
calling Togl_SwapBuffers...
Togl_SwapBuffers returns.
calling Togl_SwapBuffers...
Togl_SwapBuffers returns.
info widget made
panel area made
file menu made
Help menu made
disabled made
Nv_mkPanelMenu 1
Nv_mkPanelMenu 2 0
Nv_mkPanelMenu 2 1
Nv_mkPanelMenu 2 2
Nv_mkPanelMenu 2 3
Nv_mkPanelMenu 2 4
calling Togl_SwapBuffers...
Togl_SwapBuffers returns.
Nv_mkPanelMenu 2 5
child killed: segmentation violation
    while executing
"exec /usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/etc/nviz2.2/NVWISH2.2 -f /usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/etc/nviz2.2/sc..."
    ("eval" body line 1)
    invoked from within
"eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f $env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script $argv -name NVIZ >&@stdout"
    invoked from within
"if {$argv == ""} {
#no arguments 
eval exec $env(GISBASE)/etc/nviz2.2/NVWISH2.2 -f $env(GISBASE)/etc/nviz2.2/scripts/nviz2.2_script -name NVIZ >&@stdo..."
    (file "/usr/src/grass/grass-5.0.3rc5/dist.i686-pc-linux-gnu/bin/nviz" line 16)



GRASS:~ > nviz elev=topo_rast

[NVIZ starts, displays 3D grid of DEM, then instantly exits, same as with -O3]
...
Nv_mkPanelMenu 1
child killed: segmentation violation
...

-=-=-=-


Compiling with TclTk 8.3's includes and gcc 3.3.2 it works fine (wish=8.4).


GRASS 5.3-cvs, TclTk8.4 fails in the same way as above, ie "nviz -q" ok until
sliderbar or Panel->Surfaces->New; nviz elev=dem_raster flashes on before:
...
Nv_mkPanelMenu 1
child killed: segmentation violation.
...




Email to Bob bounces..
:(


Hamish




More information about the grass-dev mailing list