[GRASS-dev] [bug #5204] (grass) grass6.3 - gis.m: can't read

this bug's URL: http://intevation.de/rt/webrt?serial_num=5204
-------------------------------------------------------------------------

Subject: grass6.3 - gis.m: can't read

Platform: GNU/Linux/x86
grass obtained from: CVS
grass binary for platform: Compiled from Sources
GRASS Version: cvs_head_20061012

Trying to display a thematic layer in the GIS Manager on any vector map in the spearfish location, I get

can't read "lineht": no such variable
can't read "lineht": no such variable
    while executing
"expr {$lineht * 2}"
    (procedure "GmThematic::tleg_item" line 20)
    invoked from within
"GmThematic::tleg_item $mon $id"
    (procedure "GmThematic::display" line 73)
    invoked from within
"GmThematic::display $node $mod"
    ("thematic" 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)

Moritz

-------------------------------------------- Managed by Request Tracker

This probably has to do with a recent update (not by me) to use generic
system-wide fonts. The TclTk code *was* using a TclTk font as a default, and
lifting a line height value from the font spec (variable lineht). This has
been changed to use the default fonts specified in option.tcl. In general,
this is fine, but I suspect that either those fonts need to specified a bit
differently or the variables in which the default font strings are stored
needs to be declared as global in the thematic.tcl code in the correct
procedure.

I'll look into it, but just discovered that my version of d.vect.thematic is
no longer working because of a "which awk" statement that was added
(when??). This test fails on my Mac, even though I have awk. It looks like
"which" is a csh term, at least on my system, not a bash term. I don't know
at the moment if this is an issue my Mac binary or with the script.

So I'll have to futz with the whole thing to test. If someone else wants to
do some checking too while I'm trying to deal with the awk thing, I suggest
the following. In thematic.tcl, change...

proc GmThematic::create { tree parent } {
    variable opt
    variable count
    variable dup
    variable lfile
    variable lfilemask
    variable optlist
    global iconpath

to...

proc GmThematic::create { tree parent } {
    variable opt
    variable count
    variable dup
    variable lfile
    variable lfilemask
    variable optlist
    global iconpath
    global introfont
    global bolddefault
    global default

...and see what happens.

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

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

From: Request Tracker <grass-bugs@intevation.de>
Reply-To: Request Tracker <grass-bugs@intevation.de>
Date: Thu, 12 Oct 2006 15:59:49 +0200 (CEST)
To: <grass-dev@grass.itc.it>
Subject: [GRASS-dev] [bug #5204] (grass) grass6.3 - gis.m: can't read

this bug's URL: http://intevation.de/rt/webrt?serial_num=5204
-------------------------------------------------------------------------

Subject: grass6.3 - gis.m: can't read

Platform: GNU/Linux/x86
grass obtained from: CVS
grass binary for platform: Compiled from Sources
GRASS Version: cvs_head_20061012

Trying to display a thematic layer in the GIS Manager on any vector map in the
spearfish location, I get

can't read "lineht": no such variable
can't read "lineht": no such variable
    while executing
"expr {$lineht * 2}"
    (procedure "GmThematic::tleg_item" line 20)
    invoked from within
"GmThematic::tleg_item $mon $id"
    (procedure "GmThematic::display" line 73)
    invoked from within
"GmThematic::display $node $mod"
    ("thematic" 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)

Moritz

-------------------------------------------- Managed by Request Tracker

To clarify, what I suggest below doesn't work. However, I've fixed the
problem in the cvs.

Now I need to find out why d.vect.thematic bombs completely on my Mac.

"which awk" is in both d.vect.thematic and v.univar.sh and gives an error on
my system now.

If I comment this out, I get subsequent errors in the sql statement parsing.
Anyone have any ideas?

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

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

From: Michael Barton <michael.barton@asu.edu>
Date: Thu, 12 Oct 2006 11:02:49 -0700
To: Paolo Cavallini via RT <grass-bugs@intevation.de>,
<grass-dev@grass.itc.it>
Subject: Re: [GRASS-dev] [bug #5204] (grass) grass6.3 - gis.m: can't read

This probably has to do with a recent update (not by me) to use generic
system-wide fonts. The TclTk code *was* using a TclTk font as a default, and
lifting a line height value from the font spec (variable lineht). This has
been changed to use the default fonts specified in option.tcl. In general,
this is fine, but I suspect that either those fonts need to specified a bit
differently or the variables in which the default font strings are stored
needs to be declared as global in the thematic.tcl code in the correct
procedure.

I'll look into it, but just discovered that my version of d.vect.thematic is
no longer working because of a "which awk" statement that was added
(when??). This test fails on my Mac, even though I have awk. It looks like
"which" is a csh term, at least on my system, not a bash term. I don't know
at the moment if this is an issue my Mac binary or with the script.

So I'll have to futz with the whole thing to test. If someone else wants to
do some checking too while I'm trying to deal with the awk thing, I suggest
the following. In thematic.tcl, change...

proc GmThematic::create { tree parent } {
    variable opt
    variable count
    variable dup
    variable lfile
    variable lfilemask
    variable optlist
    global iconpath

to...

proc GmThematic::create { tree parent } {
    variable opt
    variable count
    variable dup
    variable lfile
    variable lfilemask
    variable optlist
    global iconpath
    global introfont
    global bolddefault
    global default

...and see what happens.

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

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

From: Request Tracker <grass-bugs@intevation.de>
Reply-To: Request Tracker <grass-bugs@intevation.de>
Date: Thu, 12 Oct 2006 15:59:49 +0200 (CEST)
To: <grass-dev@grass.itc.it>
Subject: [GRASS-dev] [bug #5204] (grass) grass6.3 - gis.m: can't read

this bug's URL: http://intevation.de/rt/webrt?serial_num=5204
-------------------------------------------------------------------------

Subject: grass6.3 - gis.m: can't read

Platform: GNU/Linux/x86
grass obtained from: CVS
grass binary for platform: Compiled from Sources
GRASS Version: cvs_head_20061012

Trying to display a thematic layer in the GIS Manager on any vector map in
the
spearfish location, I get

can't read "lineht": no such variable
can't read "lineht": no such variable
    while executing
"expr {$lineht * 2}"
    (procedure "GmThematic::tleg_item" line 20)
    invoked from within
"GmThematic::tleg_item $mon $id"
    (procedure "GmThematic::display" line 73)
    invoked from within
"GmThematic::display $node $mod"
    ("thematic" 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)

Moritz

-------------------------------------------- Managed by Request Tracker