Rtidyverse包安装报错/lib64/libstdc++.so.6: version `CXXABI_1.3.9'
2021/6/4 12:23:19
本文主要是介绍Rtidyverse包安装报错/lib64/libstdc++.so.6: version `CXXABI_1.3.9',对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
报错信息
- /lib64/libstdc++.so.6 目录文件, 没有
CXXABI_1.3.9
这个版本 - 而这个版本是需要的, 因为
tidyr.so
需要调用它
Error: package or namespace load failed for ‘tidyverse’ in dyn.load(file, DLLpath = DLLpath, ...): unable to load shared object '/home/dengfei/anaconda3/lib/R/library/tidyr/libs/tidyr.so': /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/dengfei/anaconda3/lib/R/library/tidyr/libs/tidyr.so)
解决思路
- 查看
/lib64/libstdc++.so.6
的拥有的版本号, 一般来说是版本太老 - 在服务器上找到这个动态库(肯定有新的)
- 将新的动态库copy到路径下
- 将软链接
libstdc++.so.6
关联新的文件
1. 查看/lib64/libstdc++.so.6版本号
(base) [root@localhost bin]# strings /lib64/libstdc++.so.6 |grep CXXABI CXXABI_1.3 CXXABI_1.3.1 CXXABI_1.3.2 CXXABI_1.3.3 CXXABI_1.3.4 CXXABI_1.3.5 CXXABI_1.3.6 CXXABI_1.3.7 CXXABI_TM_1
可以看到, 里面没有CXXABI_1.3.9
这个版本
2. 查看服务器上, 还有没有其它的libstdc++.so.6库, 并查看他的版本是否有CXXABI_1.3.9
find / -name 'libstdc++.so' /root/anaconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/lib/libstdc++.so /root/anaconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so /root/anaconda3/pkgs/gxx_impl_linux-64-7.3.0-hdf63c60_1/x86_64-conda_cos6-linux-gnu/lib/libstdc++.so
可以看到, 我的anaconda中已经有这个库了, 查看一下是否有版本CXXABI_1.3.9
(base) [root@localhost bin]# strings /root/anaconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/lib/libstdc++.so | grep 'CXXABI' CXXABI_1.3 CXXABI_1.3.1 CXXABI_1.3.2 CXXABI_1.3.3 CXXABI_1.3.4 CXXABI_1.3.5 CXXABI_1.3.6 CXXABI_1.3.7 CXXABI_1.3.8 CXXABI_1.3.9 CXXABI_1.3.10 CXXABI_1.3.11 CXXABI_TM_1 CXXABI_FLOAT128 CXXABI_1.3 CXXABI_1.3.11 CXXABI_1.3.2 CXXABI_1.3.6 CXXABI_FLOAT128 CXXABI_1.3.9 CXXABI_1.3.1 CXXABI_1.3.5 CXXABI_1.3.8 CXXABI_1.3.4 CXXABI_TM_1 CXXABI_1.3.7 CXXABI_1.3.10 CXXABI_1.3.3
可以看到, 是有CXXABI_1.3.9
版本的.
查看一下它真正的文件, 使用ls -l
命令
(base) [root@localhost bin]# ls -l /root/anaconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/lib/libstdc++.so lrwxrwxrwx. 1 root root 19 Jan 15 16:22 /root/anaconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/lib/libstdc++.so -> libstdc++.so.6.0.25
libstdc++.so.6.0.25
这个文件才是我们需要的.
将动态库复制到目标路径下:
cp /root/anaconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/lib/libstdc++.so.6.0.25 /lib64/
查看文件
(base) [root@localhost lib64]# ls -l libstdc++.so.6* lrwxrwxrwx. 1 root root 19 Mar 2 13:06 libstdc++.so.6 -> libstdc++.so.6.0.19 -rwxr-xr-x. 1 root root 991616 Oct 30 2018 libstdc++.so.6.0.19 -rwxr-xr-x. 1 root root 9536208 May 15 13:48 libstdc++.so.6.0.25
这里, 将动态库libstdc++.so.6
的链接由libstdc++.so.6.0.19
, 变为libstdc++.so.6.0.25
即可.
这里的ln -sf
是强制覆盖创建软链接.
(base) [root@localhost lib64]# ln -sf libstdc++.so.6.0.25 libstdc++.so.6 (base) [root@localhost lib64]# ls -l libstdc++.so.6* lrwxrwxrwx. 1 root root 19 May 15 13:51 libstdc++.so.6 -> libstdc++.so.6.0.25 -rwxr-xr-x. 1 root root 991616 Oct 30 2018 libstdc++.so.6.0.19 -rwxr-xr-x. 1 root root 9536208 May 15 13:48 libstdc++.so.6.0.25 (base) [root@localhost lib64]#
搞定.
这篇关于Rtidyverse包安装报错/lib64/libstdc++.so.6: version `CXXABI_1.3.9'的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享