8.14. Readline-8.0

#### Linux From Scratch - Version 10.0-systemd

### Chapter 8. Installing Basic System Software

- Prev

  File-5.39

- Next

  M4-1.4.18

- Up
- Home

# 8.14. Readline-8.0

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

Approximate build time: 0.1 SBU
Required disk space: 15 MB

## 8.14.1. Installation of Readline

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 -i '/MV.*old/d' Makefile.in
    sed -i '/{OLDSUFF}/c:' support/shlib-install

Prepare Readline for compilation:

    ./configure --prefix=/usr    \
                --disable-static \
                --with-curses    \
                --docdir=/usr/share/doc/readline-8.0

The meaning of the configure option:

`--with-curses`

  This option tells Readline that it can find the termcap library functions in the curses library, rather than a separate termcap library. It allows generating a correct `readline.pc` file.

Compile the package:

    make SHLIB_LIBS="-lncursesw"

The meaning of the make option:

`SHLIB_LIBS="-lncursesw"`

  This option forces Readline to link against the `libncursesw` library.

This package does not come with a test suite.

Install the package:

    make SHLIB_LIBS="-lncursesw" install

Now move the dynamic libraries to a more appropriate location and fix up some permissions and symbolic links:

    mv -v /usr/lib/lib{readline,history}.so.* /lib
    chmod -v u+w /lib/lib{readline,history}.so.*
    ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so
    ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so

If desired, install the documentation:

    install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.0

## 8.14.2. Contents of Readline

Installed libraries: libhistory.so and libreadline.so
Installed directories: /usr/include/readline and /usr/share/doc/readline-8.0

### Short Descriptions

`libhistory` | Provides a consistent user interface for recalling lines of history
`libreadline` | Provides a set of commands for manipulating text entered in an interactive session of a program.

- Prev

  File-5.39

- Next

  M4-1.4.18

- Up
- Home