6.21. Installing Ncurses-5.3

Estimated build time:           0.6 SBU
Estimated required disk space:  27 MB

6.21.1. Contents of Ncurses

The Ncurses package provides character and terminal handling libraries, including panels and menus.

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]

6.21.2.

6.21.3. Ncurses Installation Dependencies

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

6.21.4.

6.21.5. Installation of Ncurses

First fix two tiny bugs:

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

The first patch corrects the etip.h header file, and the second patch prevents some compiler warnings on the use of deprecated headers.

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