El paquete Readline contiene un conjunto de librerías que ofrecen edición de la línea de comandos y capacidades de historial.
Una reinstalación Readline provacaría que las antiguas librerías fuesen movidas a <nombre_librería>.old. Aunque normalmente esto no es un problema, en algunos casos puede sacar a la luz un fallo de enlazado de ldconfig. Esto puede evitarse ejecutando las dos siguientes sustituciones:
sed -i '/MV.*old/d' Makefile.in sed -i '/{OLDSUFF}/c:' support/shlib-install
Readline contiene un fallo en el manejo de caracteres multibyte que puede causar cálculos incorrectos de la pantalla. Corrige este problema aplicando aplicando el siguiente parche procedente de su desarrollador:
patch -Np1 -i ../readline-5.2-fixes-4.patch
Prepara Readline para su compilación:
./configure --prefix=/usr --libdir=/lib
Compila el paquete:
make SHLIB_LIBS=-lncurses
Significado de la opción de make:
SHLIB_LIBS=-lncurses
Esta opción fuerza a Readline a enlazarse contra la libería
libncurses
(en realidad, contra
libncursesw
).
Este paquete no incluye un banco de pruebas.
Instala el paquete:
make install
Mueve las librerías estáticas a una ubicación más correcta:
mv -v /lib/lib{readline,history}.a /usr/lib
Ahora elimina los ficheros .so
del
directorio /lib
y reenlazalos a
/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