[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