Linux From Scratch(LFS11.0)构建 LFS 系统 - Ncurses-6.2

休言女子非英物,夜夜龙泉壁上鸣。这篇文章主要讲述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




本次分享到此结束啦~
【Linux From Scratch(LFS11.0)构建 LFS 系统 - Ncurses-6.2】关注公众号:Lucifer三思而后行



    推荐阅读