CentOS 8系统如何查找ncurses库路径 解决Vim8.2编译报错问题
问题解决方案
- 首先查找已安装的ncurses相关库文件路径,执行如下命令:
find /usr -name "libncurses*.so" -o -name "libtinfo*.so"
CentOS 8.4 x86_64默认环境下,输出会包含/usr/lib64/libncurses.so、/usr/lib64/libtinfo.so等路径,记录下库文件所在的目录即可。 - 优先尝试修正--with-tlib参数:该报错绝大多数场景是因为CentOS 8将
tgetent函数拆分到了独立的tinfo库中,不需要额外指定路径,直接把原configure命令中的--with-tlib=ncurses替换为--with-tlib=tinfo,重新执行configure即可。 - 如果替换库名后仍然报错,再手动指定库路径编译,将第一步查到的库目录(默认是/usr/lib64)加入链接参数,修改后的完整命令如下:
如果你查到的库路径不是/usr/lib64,替换LDFLAGS="-L/usr/lib64" ./configure --with-features=huge --enable-multibyte --enable-python3interp --enable-perlinterp --enable-luainterp --enable-cscope --enable-fail-if-missing --with-python3-command=/usr/bin/python3.8 --with-tlib=ncurses-L后的路径为实际路径即可。
补充验证:你可以执行pkg-config --libs ncurses命令,如果输出结果包含-ltinfo,则确认是tinfo库依赖问题,直接使用第二种方案即可。
内容的提问来源于stack exchange,提问作者El_Dorado
相关产品推荐
相关产品推荐

