Detalhes acerca deste pacote estão localizados na Seção 8.29.2, “Conteúdo do Ncurses.”
O pacote Ncurses contém bibliotecas para manuseio independente de terminal das telas de caracteres .
Primeiro, assegure que gawk é encontrado primeiro durante a configuração:
sed -i s/mawk// configure
Então, execute os seguintes comandos para construir o aplicativo “tic” no anfitrião de construção:
mkdir build pushd build ../configure make -C include make -C progs tic popd
Prepare o Ncurses para compilação:
./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
        O significado das novas opções de configuração:
--with-manpage-format=normal
            Isso evita que o "Ncurses" instale páginas de manual comprimidas, o que possivelmente aconteça se a própria distribuição anfitriã tiver páginas de manual comprimidas.
--with-shared
            Isso faz com que o Ncurses construa e instale bibliotecas C compartilhadas.
--without-normal
            Isso evita que o "Ncurses" construa e instale bibliotecas "C" estáticas.
--without-debug
            Isso evita que o "Ncurses" construa e instale bibliotecas de depuração.
--with-cxx-shared
            Isso faz com que o Ncurses construa e instale vínculos C++ compartilhados. Também evita a construção e instalação de vínculos C++ estáticos.
--without-ada
            Isso assegura que o Ncurses não construa suporte para o compilador Ada, o qual possivelmente esteja presente no anfitrião, porém não estará disponível até que nós entremos no ambiente chroot.
--disable-stripping
            Essa chave impede o sistema de construção de usar o aplicativo strip oriundo do anfitrião. Usar ferramentas do anfitrião em aplicativos compilados cruzadamente pode causar falha.
--enable-widec
            
                Essa chave faz com que bibliotecas de caracteres largos (por
                exemplo, libncursesw.so.6.4-20230520) sejam
                construídas em vez das normais (por exemplo, libncurses.so.6.4-20230520). Essas
                bibliotecas de caracteres largos são utilizáveis tanto em
                locales de múltiplos bytes quanto em tradicionais de oito
                (08) bits, enquanto bibliotecas normais funcionam
                adequadamente só em locales de oito (08) bits. Bibliotecas de
                caracteres largos e normais são compatíveis em fonte, mas não
                são compatíveis em binário.
              
Compile o pacote:
make
Instale o pacote:
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
ln -sv libncursesw.so $LFS/usr/lib/libncurses.so
sed -e 's/^#if.*XOPEN.*$/#if 1/' \
     -i $LFS/usr/include/curses.h
        O significado das opções do install:
TIC_PATH=$(pwd)/build/progs/tic
            Nós precisamos passar o caminho do recém construído aplicativo tic que executa na máquina de construção, de forma que a base de dados de terminal possa ser criada sem erros.
                A biblioteca "libncurses.so" é
                necessária para uns poucos pacotes que nós construiremos
                breve. Nós criamos esse link simbólico para usar a
                "libncursesw.so" como uma
                substituta.
              
                O arquivo de cabeçalho "curses.h" contém a definição de várias
                estruturas de dados do "Ncurses". Com diferentes definições
                de macro de pré processador, dois conjuntos de definição de
                estrutura de dados podem ser usados: a definição de oito bits
                é compatível com a "libncurses.so" e a definição de caracteres
                largos é compatível com a "libncursesw.so". Como estamos usando a
                "libncursesw.so" como uma
                substituta da "libncurses.so",
                edite o arquivo de cabeçalho de forma que ele sempre usará a
                definição de estrutura de dados de caracteres largos
                compatível com a "libncursesw.so".
              
Detalhes acerca deste pacote estão localizados na Seção 8.29.2, “Conteúdo do Ncurses.”