6.28.2. Readline 的内容
安装的库::
libhistory.{a,so}, and
libreadline.{a,so}
Readline 软件包是一个提供命令行编辑和历史纪录功能的库集合。
重新安装 Readline 会将老的库重命名为<libraryname>.old。这通常并不是问题。 但是, 在某些情况下它会引发ldconfig的一个链接bug。 应用下面的两个sed命令可以避免这种情况:
sed -i '/MV.*old/d' Makefile.in sed -i '/{OLDSUFF}/c:' support/shlib-install
在 Readline 帮助文档中使用的正确的版本号:
sed -i -e 's/0x0600/0x0601/' \ -e 's/6\.0/6.1/' \ -e 's/RL_VERSION_MINOR\t0/RL_VERSION_MINOR\t1/' readline.h
为编译 Readline 做准备:
./configure --prefix=/usr --libdir=/lib
编译这个软件包:
make SHLIB_LIBS=-lncurses
make 选项的含义:
SHLIB_LIBS=-lncurses
这个选项强制 Readline 链接到 libncurses(真实的, libncursesw
)库。
这个软件包没有附带测试程序。
安装这个软件包:
make install
将静态库移动到一个更合理的位置:
mv -v /lib/lib{readline,history}.a /usr/lib
然后,删除 /lib
中的 .so
文件,并将它们重新连接到 /usr/lib
中:
rm -v /lib/lib{readline,history}.so ln -sfv ../../lib/libreadline.so.6 /usr/lib/libreadline.so ln -sfv ../../lib/libhistory.so.6 /usr/lib/libhistory.so
如果愿意,可以安装软件文档:
mkdir -v /usr/share/doc/readline-6.1 install -v -m644 doc/*.{ps,pdf,html,dvi} \ /usr/share/doc/readline-6.1