6.27. Readline-5.2

Das Paket Readline enthält Bibliotheken die Unterstützung für einen Verlauf und das Bearbeiten von Kommandozeilen bereitstellen.

Geschätzte Kompilierzeit: 0.1 SBU
Etwa Benötigter Speicherplatz: 10.2 MB

6.27.1. Installation von Readline

Durch die Neuinstallation von Readline werden die alten Bibliotheken nach <bibliothek>.old umbenannt. Normalerweise ist das kein Problem, kann aber in einigen wenigen Fällen zu Linkerproblemen in ldconfig führen. Das Problem lässt sich mit den folgenden beiden seds umgehen:

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

Readline enthält einen Fehler bei der Verarbeitung von Mehrbyte-Zeichen, der zu falsch errechneten Terminal-Ausmaßen und daher zu Fehldarstellungen führen kann. Beheben Sie den Fehler mit dem folgenden Patch der Upstream-Entwickler:

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

Bereiten Sie Readline zum Kompilieren vor:

./configure --prefix=/usr --libdir=/lib

Kompilieren Sie das Paket:

make SHLIB_LIBS=-lncurses

Die Bedeutung der make-Option:

SHLIB_LIBS=-lncurses

Dieser Parameter zwingt Readline, gegen die Bilbiothek libncurses zu linken (in Wirklichkeit natürlich libncursesw).

Dieses Paket enthält keine Testsuite.

Installieren Sie das Paket:

make install

Nun verschieben Sie die statischen Bibliotheken an eine passendere Stelle:

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

Als nächstes werden die .so-Dateien im Ordner /lib gelöscht und nach /usr/lib verlinkt:

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

Falls gewünscht, installieren Sie nun die Dokumentation:

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

6.27.2. Inhalt von Readline

Installierte Bibliotheken: libhistory.{a,so} und libreadline.{a,so}

Kurze Beschreibungen

libhistory

Stellt eine konsistente Schnittstelle zum Wiederaufrufen von Zeilen aus dem Verlauf zur Verfügung.

libreadline

Kümmert sich um die Konsistenz der Benutzerschnittstelle bei Programmen, die eine Kommandozeilenoberfläche bereitstellen müssen.