6.3. Ncurses-6.3

Le paquet Ncurses contient les bibliothèques pour gérer les écrans type caractère indépendamment des terminaux.

Temps de construction approximatif: 0.7 SBU
Espace disque requis: 50 Mo

6.3.1. Installation de Ncurses

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-normal             \
            --with-cxx-shared            \
            --without-debug              \
            --without-ada                \
            --disable-stripping          \
            --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.

--with-shared

Cela fait construire et installer les bibliothèques C partagées de Ncurses.

--without-normal

Ce drapeau empêche Ncurses de construire et d'installer les bibliothèques C statiques.

--without-debug

Ce drapeau empêche Ncruses de construire et d'installer les bibliothèques de débogage.

--with-cxx-shared

Cela fait construire et installer les liaisons C++ partagées de Ncurses. Cela l'empêche de construire et d'installer les liaisons C++ statiques.

--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.

--disable-stripping

Ce paramètre évite que le système de construction n'efface les programmes avec le strip de l'hôte. L'utilisation des outils hôtes sur les programmes compilés de manière croisée peut causer des échecs.

--enable-widec

Cette option amène les bibliothèques « wide-character » (comme libncursesw.so.6.3) à être compilée au lieu de celles normales (comme libncurses.so.6.3). 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.

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.

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

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.

Les détails sur ce paquet sont disponibles dans Section 8.28.2, « Contenu de Ncurses. »