[GRASSLIST:1850] problems displaying layers on 5.7

I seem to have been able to get 5.7 running on OSX, but there are a few quirks with the display manager. I am trying to display some layers that I have added to the display manager, but when I try to display them I get the following:

channel "console1" wasn't opened for writing
     while executing
"exec d.erase >@stdout 2>@stdout"
     ("eval" body line 1)
     invoked from within
"eval "exec $cmd >@stdout 2>@stdout""
     (procedure "Dm::execute" line 12)
     invoked from within
"Dm::execute "d.erase""
     (procedure "Dm::display" line 4)
     invoked from within
"Dm::display"
     ("uplevel" body line 1)
     invoked from within
"uplevel \#0 $cmd"
     (procedure "Button::_release" line 18)
     invoked from within
"Button::_release .mainframe.topf.tb0.bbox1.b0"
     (command bound to event)

I have tried this with and without a monitor running, to no avail. Any ideas anyone?

Chris Fonnesbeck
--
Christopher J. Fonnesbeck ( c h r i s @ f o n n e s b e c k . o r g )
Georgia Cooperative Fish & Wildlife Research Unit, University of Georgia

Christopher Fonnesbeck wrote:

I seem to have been able to get 5.7 running on OSX, but there are a few
quirks with the display manager. I am trying to display some layers
that I have added to the display manager, but when I try to display
them I get the following:

channel "console1" wasn't opened for writing

Previous occurrences of this error message have been traced to the use
of the native MacOSX version of Tcl/Tk rather than a Unix/X11 version.

I suggest editing $GISBASE/scripts/d.m to run d.m.tcl using a specific
wish executable, i.e. changing:

sh $GISBASE/etc/dm/d.m.tcl

to e.g.:

/usr/bin/wish $GISBASE/etc/dm/d.m.tcl

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

On Thu, Nov 20, 2003 at 08:43:12PM +0000, Glynn Clements wrote:

Christopher Fonnesbeck wrote:

> I seem to have been able to get 5.7 running on OSX, but there are a few
> quirks with the display manager. I am trying to display some layers
> that I have added to the display manager, but when I try to display
> them I get the following:
>
> channel "console1" wasn't opened for writing

Previous occurrences of this error message have been traced to the use
of the native MacOSX version of Tcl/Tk rather than a Unix/X11 version.

I suggest editing $GISBASE/scripts/d.m to run d.m.tcl using a specific
wish executable, i.e. changing:

sh $GISBASE/etc/dm/d.m.tcl

to e.g.:

/usr/bin/wish $GISBASE/etc/dm/d.m.tcl

Should $GRASS_WISH be used instead?

Markus

Markus Neteler wrote:

> > I seem to have been able to get 5.7 running on OSX, but there are a few
> > quirks with the display manager. I am trying to display some layers
> > that I have added to the display manager, but when I try to display
> > them I get the following:
> >
> > channel "console1" wasn't opened for writing
>
> Previous occurrences of this error message have been traced to the use
> of the native MacOSX version of Tcl/Tk rather than a Unix/X11 version.
>
> I suggest editing $GISBASE/scripts/d.m to run d.m.tcl using a specific
> wish executable, i.e. changing:
>
> sh $GISBASE/etc/dm/d.m.tcl
>
> to e.g.:
>
> /usr/bin/wish $GISBASE/etc/dm/d.m.tcl

Should $GRASS_WISH be used instead?

d.dm.tcl does use GRASS_WISH:

  #!/bin/sh
  # the next line restarts using wish \
  exec $GRASS_WISH "$0" "$@"

However, that requires that GRASS_WISH is set correctly.

Also, for the purposes of starting tcltkgrass, Init.sh expects
GRASS_WISH to be a simple filename, not a pathname. Consequently, it's
only useful if the different versions of wish have different names
(e.g. wish8.3 vs wish).

I suggest changing Init.sh to allow GRASS_WISH to be a full pathname.

Also, I don't see much point implementing d.dm.tcl as a "polyglot"
(both a valid Tcl script and a valid shell script); the d.dm script
should just run it via wish, i.e.

  exec "$GRASS_WISH" "$GISBASE/etc/dm/d.m.tcl"

[It should use "exec" to avoid having the extra process.]

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