6.35.1. 安装 Readline
首先安装补丁修复一些上游标记的 bug:
patch -Np1 -i ../readline-6.3-upstream_fixes-3.patch
重装 Readline 会使旧的库移动到 <libraryname>.old。通常来说这并不是什么问题,但一些情况下可能引起
ldconfig 链接错误。可以通过下面的两个 sed 命令避免这个问题:
sed -i '/MV.*old/d' Makefile.in
sed -i '/{OLDSUFF}/c:' support/shlib-install
准备编译 Readline:
./configure --prefix=/usr --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