R和Python交互使用中出现/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found

本文详细记录了在使用Python和R进行数据交互时遇到的libstdc++.so.6版本不匹配问题。通过升级操作、查找错误来源及更新动态库链接,最终解决了因版本`CXXABI_1.3.9`未找到导致的错误,确保了程序的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/usr/lib/libstdc++.so.6: version `CXXABI_1.3.9’ not found

1.升级操作

在R和python实现交互的时候,配置hive的数据读取后,进行了升级操作

yum -y install gcc gcc-c++ cyrus-sasl-devel cyrus-sasl-plain
2.查看错误

运行部分的python程序脚本时,出现了错误

Error in py_run_file_impl(file, local, convert) : 
  ImportError: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /opt/anaconda3/lib/python3.5/site-packages/google/protobuf/pyext/_message.cpython-35m-x86_64-linux-gnu.so)
3.解决问题

于是我查找/libstdc++.so.6: version `CXXABI_1.3.9文件,并进入路径进行查找

[root@nhost21 jhapp]# find / -name "libstdc++.so.*"
/opt/anaconda3/envs/python36/lib/libstdc++.so.6.0.25
/opt/anaconda3/envs/python36/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/opt/anaconda3/envs/python36/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.25

发现系统中的版本好还有大于libstdc++.so.6的,因此,需要对该路径下的包进行配置

(1)复制高版本的libstdc
cp/opt/anaconda3/envs/python36/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.25   /usr/lib64/
(2)进入lib64路径建立软连接
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.25 libstdc++.so.6
(3)查看原先的链接
strings /usr/lib/libstdc++.so.6 | grep 'CXXABI'
[root@nhost21 lib]# strings /usr/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_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_TM_1

确定更新的连接是否到新的动态库中,存在则说明成功。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值