安装wldc时出现libtinfo.so.5无法打开共享对象文件报错如何解决
libtinfo.so.5 缺失报错解决方案
error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
该报错是因为你的系统缺少ncurses旧版本兼容库,多数新版发行版默认预装ncurses6,提供的共享库版本为libtinfo.so.6,无法适配依赖旧版本库的wldc程序,可按以下优先级选择方案解决:
方案1:安装官方兼容包(优先推荐)
根据你使用的发行版执行对应安装命令:
- Debian/Ubuntu 及衍生版
若运行的是32位版本wldc,额外安装32位兼容包:sudo apt update sudo apt install libncurses5sudo apt install lib32ncurses5 - RHEL/CentOS/Fedora 及衍生版
32位程序对应安装命令:# CentOS7及更早版本使用yum sudo yum install ncurses-compat-libs # CentOS8、Fedora等新版本使用dnf sudo dnf install ncurses-compat-libssudo dnf install ncurses-compat-libs.i686 - Arch Linux 及衍生版
sudo pacman -S ncurses5-compat-libs
方案2:创建软链接兼容(兼容包不可用时选择)
如果你的发行版源没有提供对应兼容包,可以链接已有的高版本库实现兼容:
- 先确认高版本
libtinfo.so.6的实际路径:sudo find /usr/ -name "libtinfo.so.6"
常规情况下64位系统路径为/usr/lib64/libtinfo.so.6,32位系统路径为/usr/lib/libtinfo.so.6 - 创建软链接(以64位系统为例):
sudo ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5 - 刷新动态库缓存让配置生效:
sudo ldconfig
方案3:手动添加库搜索路径
如果系统中已经存在libtinfo.so.5文件但仍报缺失,先执行查找命令确认文件路径:sudo find / -name "libtinfo.so.5"
假设查到的路径为/opt/custom/lib/libtinfo.so.5,执行以下命令让配置临时生效:export LD_LIBRARY_PATH=/opt/custom/lib:$LD_LIBRARY_PATH
如需永久生效,将上述命令写入~/.bashrc(仅当前用户生效)或/etc/profile(全局所有用户生效),之后执行source ~/.bashrc或source /etc/profile即可。
内容的提问来源于stack exchange,提问作者Rita Ruvinsky
相关产品推荐
相关产品推荐

