Le paquet Readline est un ensemble de bibliothèques qui offrent des fonctionnalités d'édition de la ligne de commande etd'historique.
Réinstaller Readline aura pour conséquence que les vieilles bibliothèques seront déplacées vers <nom_bibliotheque>.old. Même si cela n'est pas normalement un problème, cela peut dans certains cas provoquer un bogue de lien dans ldconfig. Cela peut être évité en effectuant les deux seds suivants :
sed -i '/MV.*old/d' Makefile.in sed -i '/{OLDSUFF}/c:' support/shlib-install
Appliquez un correctif pour corriger un bogue connu corrigé en amont :
patch -Np1 -i ../readline-6.2-fixes-1.patch
Préparez la compilation de Readline :
./configure --prefix=/usr --libdir=/lib
Compilez le paquet :
make SHLIB_LIBS=-lncurses
Voici la signification de l'option de make :
SHLIB_LIBS=-lncurses
Cette option force Readline à se lier à la bibliothèque
libncurses
(en réalité,
libncursesw
).
Ce paquet n'est pas fourni avec une suite de tests.
Installez le paquet :
make install
Maintenant, déplacez les bibliothèques statiques à un emplacement plus appropriées :
mv -v /lib/lib{readline,history}.a /usr/lib
Ensuite, supprimez les fichiers .so
dans /lib
et liez les à nouveau vers
/usr/lib
:
rm -v /lib/lib{readline,history}.so ln -sfv ../../lib/libreadline.so.6 /usr/lib/libreadline.so ln -sfv ../../lib/libhistory.so.6 /usr/lib/libhistory.so
Si désiré, installez la documentation :
mkdir -v /usr/share/doc/readline-6.2 install -v -m644 doc/*.{ps,pdf,html,dvi} \ /usr/share/doc/readline-6.2