Installing Ncurses-5.3

The Ncurses package contains libraries for the terminal-independent handling of character screens.

Approximate build time:  0.6 SBU
Required disk space:     27 MB

Official download location for Ncurses (5.3): 
ftp://ftp.gnu.org/gnu/ncurses/
And for the Ncurses Etip Patch:
http://www.linuxfromscratch.org/patches/lfs/cvs/ncurses-5.3-etip-2.patch

For its installation Ncurses depends on: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed.

Installation of Ncurses

Fix a minor problem related to the etip.h header file:

patch -Np1 -i ../ncurses-5.3-etip-2.patch

Now prepare Ncurses for compilation:

./configure --prefix=/usr --with-shared --without-debug

Compile the package:

make

Install the package:

make install

Give the Ncurses libraries execute permissions:

chmod 755 /usr/lib/*.5.3

And fix a library that shouldn't be executable:

chmod 644 /usr/lib/libncurses++.a

Move the libraries to the /lib directory, where they're expected to reside:

mv /usr/lib/libncurses.so.5* /lib

Since the libraries have been moved to /lib, a few symlinks are currently pointing towards non-existing files. Recreate those symlinks:

ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so
ln -sf libncurses.so /usr/lib/libcurses.so

Contents of Ncurses

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

Installed libraries: libcurses.[a,so] (link to libncurses.[a,so]), libform.[a,so], libmenu.[a,so], libncurses++.a, libncurses.[a,so], libpanel.[a,so]

Short descriptions

captoinfo converts a termcap description into a terminfo description.

clear clears the screen, if this is possible.

infocmp compares or prints out terminfo descriptions.

infotocap converts a terminfo description into a termcap description.

reset reinitializes a terminal to its default values.

tack is the terminfo action checker. It is mainly used to test the correctness of an entry in the terminfo database.

tic is the terminfo entry-description compiler. It translates a terminfo file from source format into the binary format needed for the ncurses library routines. A terminfo file contains information on the capabilities of a certain terminal.

toe lists all available terminal types, for each giving its primary name and its description.

tput makes the values of terminal-dependent capabilities available to the shell. It can also be used to reset or initialize a terminal, or report its long name.

tset can be used to initialize terminals.

libncurses* contain functions to display text in many complicated ways on a terminal screen. A good example of the use of these functions is the menu displayed during the kernel's make menuconfig.

libform* contain functions to implement forms.

libmenu* contain functions to implement menus.

libpanel* contain functions to implement panels.