#### Linux From Scratch - Version r13.0-6

### Chapter 8. Installing Basic System Software

- Prev

  File-5.47

- Next

  Pcre2-10.47

- Up
- Home

# 8.12. Readline-8.3

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

Approximate build time: less than 0.1 SBU
Required disk space: 17 MB

## 8.12.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

Prevent hard coding library search paths (rpath) into the shared libraries. This package does not need rpath for an installation into the standard location, and rpath may sometimes cause unwanted effects or even security issues:

    sed -i 's/-Wl,-rpath,[^ ]*//' support/shobj-conf

Fix a problem identified upstream specifically for this version of readline:

    sed -e '270a\
         else\
           chars_avail = 1;'      \
        -e '288i\   result = -1;' \
        -i.orig input.c

Prepare Readline for compilation:

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

The meaning of the new configure option:

`--with-curses`

  This option tells Readline that it can find the termcap library functions in the curses library, not a separate termcap library. This will generate the 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. For details see the “Shared Libraries” section in the package's `README` file.

This package does not come with a test suite.

Install the package:

    make install

If desired, install the documentation:

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

## 8.12.2. Contents of Readline

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

### 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.47

- Next

  Pcre2-10.47

- Up
- Home