CentOS 9中安装ncurses-5(libncurses.so.5)的可行方案求助
解决CentOS 9下编译依赖libncurses.so.5程序的问题
方法一:手动安装CentOS 8的ncurses-compat-libs包
CentOS 9官方仓库移除了ncurses-compat-libs,但可以从CentOS Vault仓库获取对应服务器架构的rpm包手动安装:
- 找到CentOS 8 AppStream仓库中匹配你服务器架构的ncurses-compat-libs包(比如x86_64架构的包名为
ncurses-compat-libs-6.1-9.20180224.el8.x86_64.rpm) - 下载该包后,执行强制安装命令(忽略与CentOS 9现有ncurses 6.x的依赖冲突):
安装完成后,系统会生成sudo rpm -ivh --nodeps ncurses-compat-libs-xxx.el8.x86_64.rpmlibncurses.so.5等兼容库,满足编译需求。
方法二:编译ncurses 5.x源码生成兼容库
如果手动安装rpm包有问题,可自行编译ncurses 5.x版本(推荐稳定的5.9版本):
- 下载ncurses 5.9的源码包
- 解压后进入源码目录,执行编译配置命令:
./configure --prefix=/usr --libdir=/usr/lib64 --with-shared --without-debug --without-normal --enable-overwrite - 编译并安装:
完成后系统会生成make sudo make installlibncurses.so.5文件,编译器可正常识别。
方法三:软链接临时兼容(仅适配部分程序)
如果程序对ncurses版本兼容性要求较低,可给现有ncurses 6.x库创建软链接:
sudo ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5 sudo ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
注意:此方案可能导致依赖严格的程序运行异常,仅作为临时应急方案使用。
内容的提问来源于stack exchange,提问作者Thomas Gonnot
相关产品推荐
相关产品推荐

