Readline 软件包包含一些提供命令行编辑和历史记录功能的库。
重新安装 Readline 会导致旧版本的库被重命名为 <库名称>.old。这一般不是问题,但某些情况下会触发 ldconfig 的一个链接 bug。运行下面的两条 sed 命令防止这种情况:
sed -i '/MV.*old/d' Makefile.in sed -i '/{OLDSUFF}/c:' support/shlib-install
现在修复上游发现的问题:
patch -Np1 -i ../readline-8.2-upstream_fix-1.patch
准备编译 Readline:
./configure --prefix=/usr \ --disable-static \ --with-curses \ --docdir=/usr/share/doc/readline-8.2
新的配置选项的含义:
--with-curses
该选项告诉 Readline 它可以在 curses 库中查找 termcap 库函数,而不是单独的 termcap
库。这样就能生成正确的 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