6.13. Readline-8.0

Readline 软件包是提供命令行编辑和历史功能的库的集合。

大致构建用时: 0.1 SBU
所需磁盘空间: 15 MB

6.13.1. 安装 Readline

重装 Readline 会使旧的库移动到 <libraryname>.old。通常来说这并不是什么问题,但一些情况下可能引起 ldconfig 链接错误。可以通过下面的两个 sed 命令避免这个问题:

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

准备编译 Readline:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/readline-8.0

编译软件包:

make SHLIB_LIBS="-L/tools/lib -lncursesw"

make 选项的含义:

SHLIB_LIBS="-L/tools/lib -lncursesw"

该选项强制 Readline 链接到 libncursesw 库。

该软件包没有测试套件。

安装软件包:

make SHLIB_LIBS="-L/tools/lib -lncursesw" install

现在移动动态库到更合适的位置并修正一些文件权限和符号链接:

mv -v /usr/lib/lib{readline,history}.so.* /lib
chmod -v u+w /lib/lib{readline,history}.so.*
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-8.0

6.13.2. Readline 软件包内容

安装的库: libhistory.so 和 libreadline.so
安装目录: /usr/include/readline, 和 /usr/share/doc/readline-8.0

简要介绍

libhistory

为重新查看历史行提供一致的用户界面

libreadline

提供一组用于操纵文本进入交互式会话程序的命令