Details on this package are located in Section 8.28.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-normal             \
            --with-cxx-shared            \
            --without-debug              \
            --without-ada                \
            --disable-stripping          \
            --enable-widec
        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.
--with-shared
            This makes Ncurses build and install shared C libraries.
--without-normal
            This prevents Ncurses building and installing static C libraries.
--without-debug
            This prevents Ncurses building and installing debug libraries.
--with-cxx-shared
            This makes Ncurses build and install shared C++ bindings. It also prevents it building and installing static C++ bindings.
--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.
--disable-stripping
            This switch prevents the building system from stripping the programs using strip program from the host. Using host tools on cross-compiled program can cause failure.
--enable-widec
            
                This switch causes wide-character libraries (e.g.,
                libncursesw.so.6.3) to be built
                instead of normal ones (e.g., libncurses.so.6.3). 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.
              
Compile the package:
make
Install the package:
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so
The meaning of the install options:
TIC_PATH=$(pwd)/build/progs/tic
            We need to pass the path of the just built tic able to run on the building machine, so that the terminal database can be created without errors.
                The libncurses.so library is
                needed by a few packages we will build soon. We create this
                small linker script, as this is what is done in Chapter 8.
              
Details on this package are located in Section 8.28.2, “Contents of Ncurses.”