10.31. Ncurses-5.9 32 Bit Libraries

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

10.31.1. Installation of Ncurses

The following patch contains updates from the 5.9 branch by the Ncurses developers:

patch -Np1 -i ../ncurses-5.9-branch_update-4.patch

Prepare Ncurses for compilation:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
   ./configure --prefix=/usr --libdir=/lib \
   --with-shared --without-debug --enable-widec \
   --with-manpage-format=normal \
   --with-default-terminfo-dir=/usr/share/terminfo

Compile the package:

make

This package has a test suite, and can be ran after the package is installed. The tests are in the test/ directory. See the README file in that directory for details.

Install the package:

make install

Prepare ncursesw5-config to be wrapped by the multiarch wrapper:

mv -v /usr/bin/ncursesw5-config{,-32}

Move the Ncurses static libraries to the proper location:

mv -v /lib/lib{panelw,menuw,formw,ncursesw,ncurses++w}.a /usr/lib

Create symlinks in /usr/lib:

ln -svf ../../lib/$(readlink /lib/libncursesw.so) /usr/lib/libncursesw.so
ln -svf ../../lib/$(readlink /lib/libmenuw.so) /usr/lib/libmenuw.so
ln -svf ../../lib/$(readlink /lib/libpanelw.so) /usr/lib/libpanelw.so
ln -svf ../../lib/$(readlink /lib/libformw.so) /usr/lib/libformw.so
rm -v /lib/lib{ncursesw,menuw,panelw,formw}.so

Now we will make our Ncurses compatible for older and non-widec compatible programs can build properly:

for lib in curses ncurses form panel menu ; do
        echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so
        ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a
done
ln -sfv libcurses.so /usr/lib/libcursesw.so
ln -sfv libncurses.so /usr/lib/libcurses.so
ln -sfv libncursesw.a /usr/lib/libcursesw.a
ln -sfv libncurses.a /usr/lib/libcurses.a
ln -sfv libncurses++w.a /usr/lib/libncurses++.a
ln -sfv ncursesw5-config-32 /usr/bin/ncurses5-config-32

Details on this package are located in Section 10.32.2, “Contents of Ncurses.”