Readline パッケージはコマンドラインの編集や履歴管理を行うライブラリを提供します。
Readline を再インストールすると、それまでの古いライブラリは <ライブラリ名>.old というファイル名でコピーされます。 これは普通は問題ないことですが ldconfig によるリンクに際してエラーを引き起こすことがあります。 これを避けるため以下の二つの sed コマンドを実行します。
sed -i '/MV.*old/d' Makefile.in sed -i '/{OLDSUFF}/c:' support/shlib-install
またアップストリームが認識している問題を修正します。
patch -Np1 -i ../readline-8.2-upstream_fixes-3.patch
Readline をコンパイルするための準備をします。
./configure --prefix=/usr \ --disable-static \ --with-curses \ --docdir=/usr/share/doc/readline-8.2
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