解决‘GLIBC_2.23‘ not found问题

解决/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found、‘GLIBC_2.23’ not found问题

在centos中使用tensorflow时会因为编译器版本不够高而无法使用,看了很多博客遇到很多坑,搞崩两次服务器终于找到合适的办法,参考了很多博客

错误1

ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /root/anaconda3/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)

使用

strings /usr/lib64/libstdc++.so.6|grep CXXABI

可以查看系统当前有的版本

  1. 从网上下载libstdc++.so.6.0.26(新版本都可以) ,放到任意文件夹,我放入的目录为/opt(我从网上下载然后传到服务器)
    在这里插入图片描述

  2. 进入/opt 将把libstdc++.so.6.0.26拷贝到/usr/lib64目录下。

cp libstdc++.so.6.0.26 /usr/lib64/
  1. 删除原来的libstdc++.so.6符号连接(先备份)
mv libstdc++.so.6 libstdc++.so.6.bak  #重命名,以防恢复时使用
  1. 建立新的符号链接
ln -s libstdc++.so.6.0.26 libstdc++.so.6 #重新构建动态链接库
  1. 再次查看CXXABI_1.3.8就有了
    在这里插入图片描述

错误2

ImportError: /lib64/libm.so.6: version `GLIBC_2.23' not found (required by /root/anaconda3/lib/python3.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so)
  1. 下载GLIBC_2.23.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
  1. 解压
tar -xzvf glibc-2.23.tar.gz
  1. 进入解压后的文件夹glibc-2.23,建立临时目录
mkdir build #创建子文件夹
cd build
../configure --prefix=/opt/glibc-2.23  #/opt/glibc-2.23不应该为解压目录

此处有些要注意的地方,解压的glic-2.23.tar.gz源码和编译时定义的目录…/configure --prefix=/opt/glibc-2.23不应该放到了一起。否则编译的时候可能出现下面的错误:

/usr/bin/install: `include/limits.h' and `/opt/glibc-2.14/include/limits.h' are the same file
  1. 编译安装
 make && make install 
  1. 将编译好的libc-2.23.so 复制到/usr/lib64/下
cp /opt/glibc-2.23/lib/libm-2.23.so /usr/lib64/
  1. 重命名(备份)libm.so.6 此处要进入/usr/lib64/目录下
mv libm.so.6 libm.so.6.bak
  1. 重新构建动态库libm.so.6
ln -s libm-2.23.so libm.so.6

到此基本就大功告成啦!!撒花~~~

参考博客

https://blog.csdn.net/m0_38052384/article/details/103016152

https://blog.csdn.net/u012811841/article/details/77854581/

https://blog.csdn.net/clirus/article/details/62425498

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值