Linux From Scratch(LFS11.0)构建 LFS 系统 - Ncurses-6.2
Posted Lucifer三思而后行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux From Scratch(LFS11.0)构建 LFS 系统 - Ncurses-6.2相关的知识,希望对你有一定的参考价值。
Ncurses 软件包包含使用时不需考虑终端特性的字符屏幕处理函数库。
安装 Ncurses
解压软件包:
cd /sources
tar xf ncurses-6.2.tar.gz
cd ncurses-6.2
编译、检查并安装 Ncurses:
time { ./configure --prefix=/usr \\
--mandir=/usr/share/man \\
--with-shared \\
--without-debug \\
--without-normal \\
--enable-pc-files \\
--enable-widec && make && make install;}
该软件包有测试套件,但只能在安装该软件包后才能运行!
许多程序仍然希望链接器能够找到非宽字符版本的 Ncurses 库。通过使用符号链接和链接脚本,诱导它们链接到宽字符库:
for lib in ncurses form panel menu ; do
rm -vf /usr/lib/lib${lib}.so
echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so
ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc
done
最后,确保那些在构建时寻找 -lcurses 的老式程序仍然能够构建:
rm -vf /usr/lib/libcursesw.so
echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so
ln -sfv libncurses.so /usr/lib/libcurses.so
删除一个 configure 脚本未处理的静态库:
rm -fv /usr/lib/libncurses++w.a
如果需要的话,安装 Ncurses 文档:
mkdir -v /usr/share/doc/ncurses-6.2
cp -v -R doc/* /usr/share/doc/ncurses-6.2
上述指令没有创建非宽字符的 Ncurses 库,因为从源码编译的软件包不会在运行时链接到它。
然而,已知的需要链接到非宽字符 Ncurses 库的二进制程序都需要版本 5。如果您为了满足一些仅有二进制版本的程序,或者满足 LSB 兼容性,必须安装这样的库,执行以下命令再次构建该软件包:
make distclean
./configure --prefix=/usr \\
--with-shared \\
--without-normal \\
--without-debug \\
--without-cxx-binding \\
--with-abi-version=5
make sources libs
cp -av lib/lib*.so.5* /usr/lib
安装完成后清理工作:
cd ..
rm -rf ncurses-6.2
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️
以上是关于Linux From Scratch(LFS11.0)构建 LFS 系统 - Ncurses-6.2的主要内容,如果未能解决你的问题,请参考以下文章
Linux From Scratch(LFS11.0)构建 LFS 系统 - 清理系统
Linux From Scratch(LFS11.0)构建 LFS 系统 - GCC-11.2.0
Linux From Scratch(LFS11.0)收尾工作
Linux From Scratch(LFS11.0)收尾工作