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
ライブラリにリンクします。 詳しくは本パッケージの
README
ファイルにある「Shared
Libraries」という節を参照してください。
このパッケージにテストスイートはありません。
パッケージをインストールします。
make SHLIB_LIBS="-lncursesw" install
必要ならドキュメントをインストールします。
install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.2.13