8.12. Readline-8.2.13

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

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

8.12.1. Readline のインストール

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

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

共有ライブラリに対して、ライブラリ検索パス (rpath) がハードコーディングされないようにします。 本パッケージは標準的なディレクトリにインストールするため rpath を必要ありません。 rpath は時に思わぬ弊害やセキュリティ問題を引き起こす場合があります。

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

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

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

configure オプションの意味

--with-curses

このオプションは Readline パッケージに対して、termcap ライブラリ関数の探し場所を、個別の termcap ライブラリではなく curses ライブラリとすることを指示します。 これにより readline.pc ファイルが適切に生成されます。

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

make SHLIB_LIBS="-lncursesw"

make オプションの意味

SHLIB_LIBS="-lncursesw"

このオプションにより Readline を libncursesw ライブラリにリンクします。

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

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

make SHLIB_LIBS="-lncursesw" install

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

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

8.12.2. Readline の構成

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

概略説明

libhistory

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

libreadline

プログラムの対話セッションから入力されるテキストを処理するための一連のコマンドを提供します。