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

Michael Barton michael.barton at asu.edu
Tue Nov 7 01:35:36 EST 2006


Paul,

I'm not sure exactly what you're trying to do. I'll offer a bit of insight
and maybe you can clarify your objective more.

I think that Huidae Cho put in the MinGW/Msys pieces into the TclTk code a
month or so back to get the current alpha winGRASS to run. I've pretty much
left them alone (except for once when I accidentally committed a new version
that left some out).

Later this week, I'll be committing some changes to the GIS Manager for
GRASS 6.3 now that 6.2 is out the door. The main thing is adding support for
a text layer based on the new d.text version. The second is mouse placement
for text items, legends, and barscales.

Doing this, led to a cascade of some other changes of course. One of these
is that the problematic d.font romans statement below is no more. Glynn's
recent changes to the display drivers made this unnecessary.

Cedric Shock did the gronsole stuff and I still don't quite follow it. It
looks like the second problem may be because it is getting hung up when
gronsole tries to echo the series of display commands back to the TclTk
command console (gronsole). I don't know why, however. What do you mean that
you changed the variable to be unconditional? Did you take out an if clause?
What did it do?

I'll try to help you as much as I can on this.

Michael
__________________________________________
Michael Barton, Professor of Anthropology
School of Human Evolution & Social Change
Center for Social Dynamics & Complexity
Arizona State University

phone: 480-965-6213
fax: 480-965-7671
www: http://www.public.asu.edu/~cmbarton



> From: Paul Kelly <paul-grass at stjohnspoint.co.uk>
> Date: Mon, 6 Nov 2006 22:09:30 +0000 (GMT)
> To: <grass-dev at grass.itc.it>
> Subject: [GRASS-dev] Quick gis.m test on Windows
> 
> 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