[GRASS-dev] Quick gis.m test on Windows

Paul Kelly paul-grass at stjohnspoint.co.uk
Mon Nov 6 17:09:30 EST 2006


Just tried it and it seems to have a few problems with Msys-based 
assumptions: I eventually found it works OK if I start it from the Msys 
terminal but we should in theory be able to get everything except scripts 
working without Msys.
Anyway I'm not great at debugging Tcl but when first starting up I got 
this error:
couldn't write file "/dev/null": no such file or directory
couldn't write file "/dev/null": no such file or directory
     while executing
"exec -- d.font romans >& /dev/null"
     ("eval" body line 1)
     invoked from within
"eval [list exec -- $cmd] $args >& $devnull"
     (procedure "run" line 12)
     invoked from within
"run d.font romans"
     ("eval" body line 1)
     invoked from within
"eval run $cmd $args"
     (procedure "runcmd" line 6)
     invoked from within
"runcmd "d.font romans""
     (procedure "MapCanvas::runprograms" line 63)
     invoked from within
"MapCanvas::runprograms $mon [expr {$mymodified != 0}]"
     (procedure "MapCanvas::drawmap" line 38)
     invoked from within
"MapCanvas::drawmap $mon"
     (procedure "MapCanvas::display_server" line 9)
     invoked from within
"MapCanvas::display_server"
     ("after" script)

Found a place in gm.tcl that seemed to be setting an mingw variable to 
true if Msys was detected - I changed that to be unconditional and got a 
bit further to the following error when trying to display a map:
can't read "_data(.gronsole.gronsole,2,donecmd)": no such element in array
can't read "_data(.gronsole.gronsole,2,donecmd)": no such element in array
     while executing
"set donecmd $_data($path,$ci,donecmd)"
     (procedure "Gronsole::done_command" line 3)
     invoked from within
"Gronsole::done_command $path $ci"
     (procedure "Gronsole::execout" line 26)
     invoked from within
"Gronsole::execout $path $cmd $ci Gronsole::execwait"
     (procedure "Gronsole::run_wait" line 6)
     invoked from within
"Gronsole::run_wait .gronsole.gronsole {d.rast map=geology at PERMANENT -o} 
gism"
     ("eval" body line 1)
     invoked from within
"eval Gronsole::$cmd .gronsole.gronsole $args"
     (procedure ".gronsole.gronsole" line 1)
     invoked from within
"$gronsole run_wait $cmd gism"
     (procedure "run_panel" line 4)
     invoked from within
"run_panel $cmd"
     (procedure "GmCommonLayer::display_commands" line 33)
     invoked from within
"GmCommonLayer::display_commands $namespace $id [list $cmd]"
     (procedure "GmCommonLayer::display_command" line 2)
     invoked from within
"GmCommonLayer::display_command [namespace current] $id $cmd"
     (procedure "GmRaster::display" line 63)
     invoked from within
"GmRaster::display $node $mod"
     ("raster" arm line 2)
     invoked from within
"switch $type {
         group {
             GmGroup::display $node $mod
 		}
 		raster {
 			GmRaster::display $node $mod
 		}
 		labels {
 			GmLabels::disp..."
     (procedure "GmTree::display_node" line 7)
     invoked from within
"GmTree::display_node $n $mod"
     (procedure "GmGroup::display" line 22)
     invoked from within
"GmGroup::display "root" $mod"
     (procedure "MapCanvas::runprograms" line 63)
     invoked from within
"MapCanvas::runprograms $mon [expr {$mymodified != 0}]"
     (procedure "MapCanvas::drawmap" line 38)
     invoked from within
"MapCanvas::drawmap $mon"
     (procedure "MapCanvas::display_server" line 9)
     invoked from within
"MapCanvas::display_server"
     ("after" script)

Hope it's helpful for debugging.

Paul




More information about the grass-dev mailing list