[GRASS-user] make error in grass7_trunk/man

Glynn Clements glynn at gclements.plus.com
Mon May 13 05:05:58 PDT 2013

Johannes Radinger wrote:

> I just tried to build GRASS7 on Ubuntu with the r.stream.* and r.fuzzy
> add-ons in the scripts-folder (the subdirs have been added to the makefile
> in the scripts folder).
> When running make I face a compilation error in the /man subfolder:

> VERSION_NUMBER=7.0.svn VERSION_DATE=2013 python ./build_keywords.py
> /usr/local/src/grass7_trunk/dist.i686-pc-linux-gnu/docs/html
> Traceback (most recent call last):
>   File "./build_keywords.py", line 38, in <module>
>     key = "%s%s" % (key[0].upper(), key[1:])
> IndexError: string index out of range

> Any idea where to look for the problem?

It appears that one of the HTML file has a keyword list which begins
or ends with a comma.

The KEYWORDS section is in the portion of the HTML file is generated
by running the module with the --html-description flag.

AFAICT, the problem is due to r.fuzzy.* not having been updated in
response to r38061, which changed the "keywords" field of struct
GModule from a single string (char*) to a list of strings (char**).

Since that change, assigning a string to module->keywords is an error
(although it will only result in a warning during compilation). 
Keywords must be set with either G_add_keyword() or G_set_keywords().

As a result, I'd expect those modules to crash when run with any of
the options which output usage information (--help,
--html-description, --interface-description, etc).

This kind of "bit rot" is an inherent problem with having modules in a
separate "add-ons" repository. FWIW, r38061 was made almost 4 years
ago (2009-06-24).

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-user mailing list