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
Corrigez le numéro de version utilisé dans la documentation de Readline :
sed -i -e 's/0x0600/0x0601/' \ -e 's/6\.0/6.1/' \ -e 's/RL_VERSION_MINOR\t0/RL_VERSION_MINOR\t1/' readline.h
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.1 install -v -m644 doc/*.{ps,pdf,html,dvi} \ /usr/share/doc/readline-6.1