6.28. Readline-6.1

Readline パッケージは、コマンドラインの編集や履歴管理を行うライブラリを提供します。

概算ビルド時間: 0.2 SBU
必要ディスク容量: 13.8 MB

6.28.1. Readline のインストール

Readline を再インストールすると、それまでの古いライブラリは <ライブラリ名>.old というファイル名でコピーされます。 これは普通は問題ないことですが ldconfig によるリンクに際してエラーを引き起こすことがあります。 これを避けるため以下の二つの sed コマンドを実行します。

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

Readline のドキュメントに示されるバージョン番号を適切なものにします。

sed -i -e 's/0x0600/0x0601/' \
       -e 's/6\.0/6.1/' \
       -e 's/RL_VERSION_MINOR\t0/RL_VERSION_MINOR\t1/' readline.h

Readline をコンパイルするための準備をします。

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

パッケージをコンパイルします。

make SHLIB_LIBS=-lncurses

make オプションの意味:

SHLIB_LIBS=-lncurses

このオプションにより Readline を libncurses ライブラリ (その実体は libncursesw ライブラリ) にリンクします。

このパッケージにテストスイートはありません。

パッケージをインストールします。

make install

スタティックライブラリを適切なディレクトリに移動します。

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

次に /lib ディレクトリにある .so ファイルを削除して、それらを /usr/lib にリンクし直します。

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

必要ならドキュメントをインストールします。

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

6.28.2. Readline の構成

インストールライブラリ: libhistory.{a,so}, libreadline.{a,so}
インストールディレクトリ: /usr/include/readline, /usr/share/readline, /usr/share/doc/readline-6.1

概略説明

libhistory

入力履歴を適切に再現するためのユーザーインターフェースを提供します。

libreadline

コマンドラインインターフェースを提供している様々なコマンドにおいて、適切なインターフェースを提供します。