[GRASS5] Tcl8.4 support?

Glynn Clements glynn.clements at virgin.net
Sat Sep 13 10:37:56 EDT 2003


Hamish wrote:

> > AFAICT from the error message, it's the core NVIZ process which
> > crashed; i.e. not the "nviz" script, but the NVWISH2.2 binary
> > interpreting nviz2.2_script. To debug that, you would need to emulate
> > the "nviz" script by setting up the various environment variables,
> > then running NVWISH2.2 under gdb, e.g.:
> > 
> > 	export GISDBASE=`g.gisenv get=GISDBASE`
> > 	export LOCATION_NAME=`g.gisenv get=LOCATION_NAME`
> > 	export MAPSET=`g.gisenv get=MAPSET`
> > 	gdb /usr/local/grass5/etc/nviz2.2/NVWISH2.2
> > 	> run -f /usr/local/grass5/etc/nviz2.2/scripts/nviz2.2_script
> > 	> -name NVIZ
> > 
> 
> 
> Ok, copy that.
> 
> I'm new to gdb, bear with me. 
>    -How to turn on debugging symbols?
>    -How to set up symbol tables info? [(gdb) bt f]
>       "No symbol table info available."

Odd. Has the NVWISH2.2 binary been stripped?

> Further instructions?
> 
> 
> Seeing the libc.so.6 makes me ask: can anyone out there running 
> Debian 3.0(Woody) compile 5.0.3rc with tcl8.4-dev & tk8.4-dev
> and see if NVIZ works? Is this a Debian bug?
> (I'm running Debian/Testing(Sarge), grass-5.0.3rc2)
> 
> 
> note NVIZ is printing "Version: @(#) 5.0.2 (April 2003)" before 
> the copyright notice..?

That suggests that either configure hasn't been re-run since the last
update, or NVIZ hasn't been re-built (forgot to run "make distclean"
first), or that NVIZ failed to compile and the old version is still in
place (forgot to "rm -rf /usr/local/grass5" before "make install").

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 16384 (LWP 5725)]
> 0x4042452d in vfprintf () from /lib/libc.so.6
> (gdb)  bt
> #0  0x4042452d in vfprintf () from /lib/libc.so.6
> #1  0x4043d386 in vsprintf () from /lib/libc.so.6
> #2  0x4042c21a in sprintf () from /lib/libc.so.6
> #3  0x0808edd1 in strcpy ()
> #4  0x0805c2f8 in strcpy ()
> #5  0x08052424 in strcpy ()
> #6  0x080506a1 in strcpy ()
> #7  0x401357ff in TclInvokeStringCommand () from /usr/lib/libtcl8.4.so.0
> #8  0x40136646 in TclEvalObjvInternal () from /usr/lib/libtcl8.4.so.0
> #9  0x4013707c in Tcl_EvalEx () from /usr/lib/libtcl8.4.so.0
> #10 0x40137495 in Tcl_Eval () from /usr/lib/libtcl8.4.so.0
> #11 0x401387d3 in Tcl_VarEvalVA () from /usr/lib/libtcl8.4.so.0
> #12 0x40138807 in Tcl_VarEval () from /usr/lib/libtcl8.4.so.0
> #13 0x080536d7 in strcpy ()
> #14 0x08053bc2 in strcpy ()
> #15 0x0804c207 in strcpy ()
> #16 0x40082452 in Tk_MainEx () from /usr/lib/libtk8.4.so.0
> #17 0x0805749c in strcpy ()
> #18 0x403f6a51 in __libc_start_main () from /lib/libc.so.6

If tcltkgrass is crashing inside "pure" Tcl/Tk code, you won't be able
to find out much unless you have a version of libtcl which has debug
info.

-- 
Glynn Clements <glynn.clements at virgin.net>




More information about the grass-dev mailing list