Details on this package are located in Section 8.24.2, “Contents of Ncurses.”
The Ncurses package contains libraries for terminal-independent handling of character screens.
First, ensure that gawk is found first during configuration:
sed -i s/mawk// configure
Then, run the following commands to build the “tic” program on the build host:
mkdir build pushd build ../configure make -C include make -C progs tic popd
Prepare Ncurses for compilation:
./configure --prefix=/usr \ --host=$LFS_TGT \ --build=$(./config.guess) \ --mandir=/usr/share/man \ --with-manpage-format=normal \ --with-shared \ --without-debug \ --without-ada \ --without-normal \ --enable-widec \ --enable-pc-files
The meaning of the new configure options:
--with-manpage-format=normal
This prevents Ncurses installing compressed manual pages, which may happen if the host distribution itself has compressed manual pages.
--without-ada
This ensures that Ncurses does not build support for the Ada compiler which may be present on the host but will not be available once we enter the chroot environment.
--enable-widec
This switch causes wide-character libraries (e.g.,
libncursesw.so.6.2
) to be built
instead of normal ones (e.g., libncurses.so.6.2
). These wide-character
libraries are usable in both multibyte and traditional 8-bit
locales, while normal libraries work properly only in 8-bit
locales. Wide-character and normal libraries are
source-compatible, but not binary-compatible.
--enable-pc-files
This switch generates and installs .pc files for pkg-config.
--without-normal
This switch disables building and installing most static libraries.
Compile the package:
make
Install the package:
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install ln -s libncursesw.so $LFS/usr/lib/libncurses.so
Move the shared libraries to the /lib
directory, where they are expected to reside:
mv -v $LFS/usr/lib/libncursesw.so.6* $LFS/lib
Because the libraries have been moved, one symlink points to a non-existent file. Recreate it:
ln -sfv ../../lib/$(readlink $LFS/usr/lib/libncursesw.so) $LFS/usr/lib/libncursesw.so
Details on this package are located in Section 8.24.2, “Contents of Ncurses.”