Les détails de ce paquet se trouvent sur Section 8.28.2, « Contenu de Ncurses. »
Le paquet Ncurses contient les bibliothèques de gestion des écrans type caractère, indépendant des terminaux.
Tout d'abord, assurez-vous que gawk est trouvé pendant la configuration :
sed -i s/mawk// configure
Ensuite, lancez les commandes suivantes pour construire le programme « tic » sur l'hôte :
mkdir build pushd build ../configure make -C include make -C progs tic popd
Préparez la compilation de Ncurses :
./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
Voici la signification des nouvelles options de configure :
--with-manpage-format=normal
Cela évite que Ncurses n'installe les pages de manuel compressées, ce qui peut arriver si la distribution hôte elle-même a des pages de manuel compressées.
--without-ada
Cela s'assure que Ncurses ne construise pas la prise en charge du compilateur Ada qui peut être présent sur l'hôte mais qui ne sera pas disponible une fois dans l'environnement chroot.
--enable-widec
Cette option amène les bibliothèques « wide-character » (comme
libncursesw.so.6.2
) à être
compilée au lieu de celles normales (comme libncurses.so.6.2
). Ces bibliothèques
« wide-character » sont utilisables
à la fois en locales multibyte et 8-bit traditionnelles,
alors que les bibliothèques normales ne fonctionnent
correctement que dans les locales 8-bit. Les bibliothèques
« Wide-character » et normales sont
compatibles entre leurs sources mais pas entre leurs
binaires.
--without-normal
Ce drapeau désactive la construction et l’installation de la plupart des bibliothèques statiques.
Compilez le paquet :
make
Installez le paquet :
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so
Voici la signification des options d'installation :
TIC_PATH=$(pwd)/build/progs/tic
Nous devons passer le chemin de tic tout juste construit qui peut être lancé sur la machine de construction, pour pouvoir créer la base de données de terminaux sans erreur.
La bibliothèque libncurses.so
est requise par quelques paquets que nous allons bientôt
construire. Nous créons ce petit script de liaison, comme
cela est fait dans
Chapitre 8.
Déplacez les bibliothèques partagées dans le répertoire
/lib
, où elles sont supposées
être :
mv -v $LFS/usr/lib/libncursesw.so.6* $LFS/lib
Comme les bibliothèques ont été déplacées, un lien symbolique pointe vers un fichier inexistant. Recréez-le :
ln -sfv ../../lib/$(readlink $LFS/usr/lib/libncursesw.so) $LFS/usr/lib/libncursesw.so
Les détails de ce paquet se trouvent sur Section 8.28.2, « Contenu de Ncurses. »