6.32. Readline-6.3

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

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

6.32.1. Readline のインストール

まず以下のパッチを適用します。 これは種々のバグを修正するものとしてアップストリームにより提供されているものです。

patch -Np1 -i ../readline-6.3-upstream_fixes-3.patch

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

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

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

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/readline-6.3

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

make SHLIB_LIBS=-lncurses

make オプションの意味:

SHLIB_LIBS=-lncurses

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

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

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

make SHLIB_LIBS=-lncurses install

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

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

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

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

6.32.2. Readline の構成

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

概略説明

libhistory

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

libreadline

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