6.17. Readline-5.2

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

6.17.1. Installation of Readline

Prepare Readline for compilation:

./configure --build=${CLFS_HOST} --host=${CLFS_TARGET} \
    --prefix=/usr --libdir=/lib

Compile the package:

make SHLIB_XLDFLAGS=-lncurses

The meaning of the make option:


This option forces Readline to link against the libncurses library.

Install the package:

make DESTDIR=${CLFS} install

Give Readline's dynamic libraries more appropriate permissions:

chmod -v 755 ${CLFS}/lib/lib{readline,history}.so*

Now move the static libraries to a more appropriate location:

mv -v ${CLFS}/lib/lib{readline,history}.a ${CLFS}/usr/lib

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

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

6.17.2. Contents of Readline

Installed libraries: libhistory.[a,so], and libreadline.[a,so]

Short Descriptions


Provides a consistent user interface for recalling lines of history


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