CentOS7下Conda安装R3.4.1启动报错:找不到libtinfow.so.6
解决CentOS7下Conda安装R-3.4.1启动时libtinfow.so.6缺失的问题
我之前在CentOS 7上用Conda安装R 3.4.1时,也碰到过完全一样的报错,折腾了一阵才找到可行的解决办法,分享给你:
方法一:安装ncurses兼容库
这个库文件属于ncurses-compat-libs包,直接用yum安装就能解决大部分情况:
sudo yum install ncurses-compat-libs
安装完成后再启动R试试,一般就能正常进入了。
方法二:手动创建软链接
如果yum安装后还是报错,大概率是conda环境的库路径没找到系统里的这个文件。先找到系统中libtinfow.so.6的位置:
find /usr -name libtinfow.so.6
假设输出是/usr/lib64/libtinfow.so.6,然后把它软链接到你的conda安装目录的lib64下(替换成你自己的miniconda路径):
sudo ln -s /usr/lib64/libtinfow.so.6 /usr/local/bin/miniconda3/lib64/
完成后再启动R应该就能正常运行了。
方法三:更新Conda后重新安装R
R 3.4.1是比较老的版本,可能早期conda打包的R包依赖处理有问题。先更新conda:
conda update conda
然后重新安装指定版本的R:
conda install r=3.4.1
更新后的conda会更好地处理依赖关系,可能自动补上缺失的库文件。
问题原因说明
CentOS 7自带的ncurses版本和conda打包R 3.4.1时依赖的版本存在兼容性差异,导致R启动时找不到对应的动态链接库,以上三种方法分别从补装兼容库、手动指定库路径、修复依赖三个角度解决问题。
内容的提问来源于stack exchange,提问作者Bi Mb
相关产品推荐
相关产品推荐

