Le paquet Readline est un ensemble de bibliothèques qui offrent des fonctionnalités d'édition de la ligne de commande et d'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
Readline contient un bogue dans sa gestion des caractères non multibyte, qui peuvent entraîner des calculs d'affichage incorrect et un réaffichage incorrect. Corrigez ce problème en appliquant le correctif suivant issu des mainteneurs d'origine :
patch -Np1 -i ../readline-5.2-fixes-3.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.5 /usr/lib/libreadline.so ln -sfv ../../lib/libhistory.so.5 /usr/lib/libhistory.so