I asked for help getting terminfo entries for non-DEC terminals on my
new AlphaServer system, running Digital UNIX 3.2D. I had a big termcap
file from an old Ultrix system, but didn't know how to convert it to
terminfo format. The answer came from Kai Lanz here at my own site
(kai_at_pangea.stanford.edu)! He suggested getting the "mytinfo" package
of termcap/terminfo programmer's library replacements, which includes a
program "tconv" to convert between the two formats. I got it from
ftp://ftp.wustl.edu/direusenet/comp.sources.unix/volume26/mytinfo
in the three compressed shell archive files part01.Z, part02.Z and part03.Z.
I got two other suggestions:
Carlos A M dos Santos (ufpelrm_at_eu.ansp.br) said:
> Well, I know there is a termcap/terminfo database for Linux, somewhere at
> ftp://sunsite.unc.edu/pub/Linux/... (sorry, no time available to a
> complete search). I believe you can fix (hack) it to work under DU.
and Tim Mooney (mooney_at_dogbert.cc.ndsu.NoDak.edu) offered:
> Get the full terminfo source that comes with ncurses; that should have just
> about everything you need.
I went with the "tconv" program. My notes on compiling are appended at
the end for those who are interested.
-Phil Farrell, Computer Systems Manager
Stanford University School of Earth Sciences
farrell_at_pangea.stanford.edu
Compiling tconv under Digital UNIX 3.2d:
I only wanted the "tconv" program, but compiled the whole package to get
the libraries used by tconv. Following Kai's suggestions, I made
these configurations in the "config.h" file:
undefined USE_TERMIO; defined USE_SGTTY
undefined USE_MYBSEARCH, USE_MYSTRTOK, USE_MYQSORT, and
USE_MYMKDIR
undefined USE_FAKE_STDIO, USE_SMALLMEM
defined TERMCAPFILE to be /usr/share/lib/termcap
defined TERMINFOSRC to be "" (default source file;
force user to specify on command line)
defined TERMINFODIR to be /usr/share/lib/terminfo
and made these changes in the Makefile:
Added "-migrate" option to CFLAGS macro to get DEC C compiler
Added "-lots -ltermcap" to LDFLAGS macro to get the
Ots 64-bit arithmetic routines (needed for pointer conversions)
and the termcap access routines.
My first attempts to compile ended with ld complaining that it could not
resolve symbols "tgetstr", "tgetent", "tputs" and "tgetnum" when making
"clear" from "clear.c". But checking Makefile, I see that the "clear"
target does not try to make this! It is a psuedo-target that depends
upon clear.tcap and clear.tinfo, both of which are made from the clear.c
source, but linking to the mytinfo library. Apparently, the DEC make
program decided that "clear" should be a separate program, not a
psuedo-target, and it applied a DEFAULT command, which was to run
$CC $CFLAGS $LDFLAGS -o clear clear.c
This is not intended, nor will it work because clear.c needs the
mytinfo libraries to get those routines tgetstr, etc. The solution here
was to add an explicit command after the "clear:" target, consisting
of an "echo" command that says the two alternative clear programs
"clear.tcap" and "clear.tinfo" have been made.
Once compiled, tconv worked perfectly to convert all my old termcap
entries to terminfo and now my users are happy again.
Received on Fri Jul 26 1996 - 22:00:05 NZST