[GRASS5] Using 'vask' library

Markus Neteler neteler at itc.it
Tue Feb 12 01:56:06 EST 2002


On Tue, Feb 12, 2002 at 12:07:10AM +0000, Glynn Clements wrote:
> 
> Aleksey Naumov wrote:
> 
> > I have to compile a program that runs under grass using, among other things, 
> > the 'vask' library. It compiles, but gives the following error when run:
> > 
> > GRASS:~ > swatgrass
> > 'xterm-xfree86': unknown terminal type.
> > Error opening terminal: xterm-xfree86.
> > GRASS:~ >
> 
> This is generated by curses (or, more precisely, by the termcap or
> terminfo functions which curses calls).
> 
> > I've determined that this message is generated when V_call() is
> > called.
> 
> It's probably generated by the call to initscr() within V_init(),
> although the call to system("clear") may also generate the error
> (although I suspect not).
> 
> > Curiously, when I run the program in gdb, it runs ok and the screen menus are 
> > displayed just fine!
> > 
> > I thought maybe the problem has to do with how I linked in the termcap 
> > library. Programmer's manual suggests using $(VASK), because "it specifies 
> > both the UNIX curses and termcap libraries as well as $(VASKLIB)" (p. 286), 
> > however, $(VASK) is not set when I ran 'gmake5' on the GMakefile (see below). 
> 
> The documentation is incorrect; the correct invocation for linking
> against the Vask library is "$(VASKLIB) $(CURSES)".

Hi,

I have changed the old passage:
\textbf{Note.} The target \textit{pgm} depends on the object files \$(OBJ)
and the \textit{Vask Library} \$(VASKLIB). This is done so that 
modifications to any of the \$(OBJ) files or to the \$(VASKLIB) itself will
force module reloading. However, the compile rule specifies \$(OBJ) and
\$(VASK), rather than \$(OBJ) and \$(VASKLIB). This is because \$(VASK)
specifies both the UNIX curses and termcap libraries as well as \$(VASKLIB).


to (new):

\textbf{Note.} The target \textit{pgm} depends on the object files \$(OBJ)
and the \textit{Vask Library} \$(VASKLIB). This is done so that 
modifications to any of the \$(OBJ) files or to the \$(VASKLIB) itself will
force module reloading. Linking against the Vask library is \$(VASKLIB)
\$(CURSES), it specifies both the UNIX curses and termcap/terminfo libraries
as well as \$(VASKLIB).

[sorry for the Latex markup]
Does this change make sense? If not, please correct, then I publish the
updated PDF.

Thanks,

 Markus



More information about the grass-dev mailing list