6.3. Ncurses-6.4

O pacote Ncurses contém bibliotecas para manuseio independente de terminal das telas de caracteres .

Tempo aproximado de construção: 0.3 SBU
Espaço em disco exigido: 51 MB

6.3.1. Instalação do Ncurses

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 do configure:

--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) sejam construídas em vez das normais (por exemplo, libncurses.so.6.4). 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
echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so

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.

echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so

A biblioteca libncurses.so é necessária para uns poucos pacotes que nós construiremos breve. Nós criamos esse pequeno script vinculador, pois isso é o que é feito no Capítulo 8.

Detalhes acerca deste pacote estão localizados em Seção 8.28.2, “Conteúdo do Ncurses.”