Linux From Scratch: Version 5.0-pre3
Prev | Chapter 6. Installing basic system software | Next

# Installing Ncurses-5.3

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

## Contents of Ncurses

(Last checked against version 5.3.)

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], libform_g.a, libmenu.[a,so], libmenu_g.a, libncurses++.a, libncurses.[a,so], libncurses_g.a, libpanel.[a,so] and libpanel_g.a

##

## Ncurses Installation Dependencies

(Last checked against version 5.2.)

Bash: sh
Binutils: ar, as, ld, ranlib
Coreutils: basename, cat, chmod, cp, date, echo, expr, hostname, install,
ln, mkdir, mv, rm, sort, tr, uname, wc
Diffutils: cmp
Gawk: gawk
GCC: c++, cc1, cc1plus, collect2, cpp, gcc
Glibc: ldconfig
Grep: egrep, fgrep, grep
Make: make
Sed: sed

##

## 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

Prev | Home | Next
Installing Gawk-3.1.3 | Up | Installing Vim-6.2