Detalhes acerca deste pacote estão localizados na Seção 8.30.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
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.
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.30.2, “Conteúdo do Ncurses.”