服务器安装tensorflow,导入tensorflow时出现/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found

本文详细介绍了在Centos7.6系统中配置TensorFlow1.14环境的步骤,包括升级GCC至9.1.0版本,以及解决libstdc++.so.6版本冲突问题的全过程。
部署运行你感兴趣的模型镜像

我的环境: Centos 7.6, tensorflow1.14

我的解决方法:升级了gcc,然后移除 /lib64/libstdc++.so.6,然后链接ibstdc++.so.6.0.26 到 /lib64/libstdc++.so.6

升级gcc的方法参考:https://www.liuhaolin.com/linux/535.html

gcc安装编译

yum update -y
yum install -y  gcc-c++  glibc-static gcc bzip2 wget tmux

cd ~
wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz
tar -xzf gcc-9.1.0.tar.gz
cd gcc-9.1.0

# 这个下载过程比较久
./contrib/download_prerequisites
# gmp-6.1.0.tar.bz2: OK
# mpfr-3.1.4.tar.bz2: OK
# mpc-1.0.3.tar.gz: OK
#isl-0.18.tar.bz2: OK
# All prerequisites downloaded successfully. 

# 指定路径到 /usr/local/gcc
./configure --prefix=/usr/local/gcc  --enable-bootstrap  --enable-checking=release --enable-languages=c,c++ --disable-multilib

# 该过程也很久,服务器如果是两核的就不建议加 -j4 参数
time make -j4

make install

gcc安装后的设置

# 环境变量path
echo  "export PATH=/usr/local/gcc/bin:$PATH" >> /etc/profile.d/gcc.sh
source /etc/profile.d/gcc.sh

# 头文件
ln -sv /usr/local/gcc/include/ /usr/include/gcc

# 库文件
echo "/usr/local/gcc/lib64" >> /etc/ld.so.conf.d/gcc.conf
ldconfig -v
ldconfig -p |grep gcc

查看gcc版本

gcc -v


Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-pc-linux-gnu/9.1.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --prefix=/usr/local/gcc --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 9.1.0 (GCC) 

 

更新 /lib64/libstdc++.so.6

参考:https://stackoverflow.com/questions/49797965/updating-libstdc-so-6-to-glibcxx-3-4-21-and-cxxabi-1-3-9-after-updating-to-gcc

# 查看/lib64/libstdc++.so.6对应的版本是6.0.19
ls -ali /lib64/libstdc++.so.6
267435 lrwxrwxrwx 1 root root 19 Dec 28 09:10 /lib64/libstdc++.so.6 -> libstdc++.so.6.0.19

查看更新gcc后的版本

find / -name "libstdc++.so.6*"


/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/local/gcc/lib64/libstdc++.so.6
/usr/local/gcc/lib64/libstdc++.so.6.0.26-gdb.py
/usr/local/gcc/lib64/libstdc++.so.6.0.26
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19

移除更新

rm -f /lib64/libstdc++.so.6

# 链接新的libstdc++.so.6.0.26 到 /lib64/libstdc++.so.6
ln -s /usr/local/gcc/lib64/libstdc++.so.6.0.26 /lib64/libstdc++.so.6

 

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值