6.24. Readline-5.2

The Readline package is a set of libraries that offers command-line editing and history capabilities.

6.24.1. Installation of Readline

Upstream developers have fixed several issues since the initial release of Readline-5.2. Apply those fixes:

patch -Np1 -i ../readline-5.2-fixes-2.patch

Reinstalling Readline will cause the old libraries to be moved to <libraryname>.old. While this is normally not a problem, in some cases it can trigger a linking bug in ldconfig. This can be avoided by issuing the following two seds:

sed '/MV.*old/d' -i.orig Makefile.in
sed '/{OLDSUFF}/c:' -i.orig support/shlib-install

Prepare Readline for compilation:

./configure --prefix=/usr --libdir=/lib \
    --disable-static

Compile the package:

make SHLIB_LIBS=-lncurses

The meaning of the make option:

SHLIB_LIBS=-lncurses

This option forces Readline to link against the libncurses (really, libncursesw) library.

This package does not come with a test suite.

Install the package:

make install

Next, remove the .so files in /lib and relink them into /usr/lib:

rm -v /lib/lib{readline,history}.so
ln -vsf ../../lib/libreadline.so.5 /usr/lib/libreadline.so
ln -vsf ../../lib/libhistory.so.5 /usr/lib/libhistory.so

6.24.2. Contents of Readline

Installed libraries: libhistory.so, and libreadline.so

Short Descriptions

libhistory

Provides a consistent user interface for recalling lines of history

libreadline

Aids in the consistency of user interface across discrete programs that need to provide a command line interface