Installing Ncurses-5.2

Estimated build time:           6 minutes
Estimated required disk space:  29 MB

Installation of Ncurses

Install Ncurses by running the following commands:

./configure --prefix=/usr --libdir=/lib \
   --with-shared --disable-termcap &&
make &&
make install &&
cd /lib &&
mv *.a /usr/lib &&
chmod 755 *.5.2 &&
cd /usr/lib &&
ln -sf libncurses.a libcurses.a &&
ln -sf ../../lib/libncurses.so &&
ln -sf ../../lib/libcurses.so &&
ln -sf ../../lib/libform.so &&
ln -sf ../../lib/libpanel.so &&
ln -sf ../../lib/libmenu.so

Command explanations

--with-shared: This enables the build of the shared ncurses library files.

--disable-termcap: Disabled the compilation of termcap fall back support.

cd /lib && mv *.a /usr/lib : This moves all of the static ncurses library files from /lib to /usr/lib. /lib should only contain the shared files which are essential to the system when /usr may not be mounted.

chmod 755 *.5.2: Shared libraries should be executable. Ncurses install routine doesn't set the permissions properly so we do it manually instead.

ln -sf libncurses.a libcurses.a: Some programs try to link using -lcurses instead of -lncurses. This symlink ensures that such programs will link without errors.

ln -sf ../../lib/libncurses.so etc: These symlinks are created to tidy up the installation. It's good practise to have the *.so files in /usr/lib as well as in /lib, to ensure that the linker is always able to find the files whether it's looking in /lib or /usr/lib.

Contents

Program Files

captoinfo (link to tic), clear, infocmp, infotocap (link to tic), reset (link to tset), tack, tic, toe, tput and tset.

Descriptions

captoinfo

captoinfo converts a termcap description into a terminfo description.

clear

clear clears the screen if this is possible. It looks in the environment for the terminal type and then in the terminfo database to figure out how to clear the screen.

infocmp

infocmp can be used to compare a binary terminfo entry with other terminfo entries, rewrite a terminfo description to take advantage of the use= terminfo field, or print out a terminfo description from the binary file (term) in a variety of formats (the opposite of what tic does).

infotocap

info to cap converts a terminfo description into a termcap description.

reset

reset sets cooked and echo modes, turns off cbreak and raw modes, turns on new-line translation and resets any unset special characters to their default values before doing terminal initialization the same way as tset.

tack

tack is the terminfo action checker.

tic

tic is the terminfo entry-description compiler. The program translates a terminfo file from source format into the binary format for use with the ncurses library routines. Terminfo files contain information about the capabilities of a terminal.

toe

toe lists all available terminal types by primary name with descriptions.

tput

tput uses the terminfo database to make the values of terminal-dependent capabilities and information available to the shell, to initialize or reset the terminal, or return the long name of the requested terminal type.

tset

tset initializes terminals so they can be used, but it's not widely used anymore. It's provided for 4.4BSD compatibility.

Library Files

libcurses.[a,so] (link to libncurses.[a,so]), libform.[a,so], libform_g.a, libmenu.[a,so], libmenu_g.a, libncurses++.a, libncurses.[a,so], libncurses_g.a, libpanel.[a,so] and libpanel_g.a

libcurses, libncurses++, libncurses, libncurses_g

The libraries that make up the Ncurses library are used to display text (often in a fancy way) on the screen. An example where ncurses is used is in the kernel's "make menuconfig" process. The libncurses libraries are the base of the system.

libform, libform_g

libform is used to implement forms in ncurses.

libmenu, libmenu_g

libmenu is used to implement menus in ncurses.

libpanel, libpanel_g

libpanel is used to implement panels in ncurses.

Dependencies

Ncurses-5.2 needs the following to be installed:


bash: sh
binutils: ar, as, ld, ranlib
diffutils: cmp
fileutils: chmod, cp, install, ln, mkdir, mv, rm
gcc: c++, cc1, cc1plus, collect2, cpp0, gcc
glibc: ldconfig
grep: egrep, fgrep, grep
make: make
mawk: mawk
sed: sed
sh-utils: basename, date, echo, expr, hostname, uname
textutils: cat, sort, tr, wc