安装tensorflow 及问题

这篇博客详细记录了安装Tensorflow过程中遇到的GLIBC和libstdc++.so.6版本不匹配的问题,以及相应的解决步骤,包括升级glibc和GCC。通过下载对应版本的源码,编译安装,并创建软链接,最终成功安装Tensorflow。
摘要由CSDN通过智能技术生成

一.安装tensorflow

参考https://blog.csdn.net/zhaohe1995/article/details/53364502?utm_source=itdadao&utm_medium=referral

 

1.下载tensorflow

wget https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl

 

 

$ mv tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl tensorflow-0.8.0-py3-none-linux_x86_64.whl

2.Pip安装

pip install --ignore-installed --upgrade tensorflow-0.8.0-py3-none-linux_x86_64.whl

 

 

3测试是否安装成功

》python3

 

》import tensorflow

 

 

 

二.出现的错误及解决方法

 使用python3,import tensorflow 出现错误

1 .libc.so.6: version `GLIBC_2.15' not found

 

参考:https://blog.csdn.net/chenvast/article/details/79103288

错误原因:glibc版本过低,需要升级到指定版本

解决办法:

在 https://ftp.gnu.org/gnu/glibc/ 里选择下载 对应版本,如:glibc-2.15.tar.gz。

# wget https://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz

解压。

#tar -zxvf glibc-2.15.tar.gz

进入安装目录:

# cd glibc-2.15

创建编译安装目录:

# mkdir build

配置:

 ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

编译安装:

# make 

# sudo make install

2 . ImportError: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /usr/local/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow.so)

 

参考:https://blog.csdn.net/hbuxiaofei/article/details/46012833

查看系统glibc支持的版本:

  strings  /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_

若是有2.17版本则安装成功

3 .ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/local/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow.so

参考:https://blog.csdn.net/xiaolong2w/article/details/23915171

查看当前GCC版本

  •  strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

没有3.4.14 版本

 

查找文件位置: 》 find / -name libstdc++.so.6.0.17

位置如下: /root/usr/lib/i386-linux-gnu/libstdc++.so.6.0.17

注意: 该路径下的文件事32位的,而我们系统事64位 的。容易出现如下错误:

ImportError: libstdc++.so.6: wrong ELF class: ELFCLASS32

 

将以下文件复制到: /usr/lib64下

(文件名为: libstdc++.so.6.0.17)

 

查找文件路径: 》find / -name libstdc++.so.6

路径如下:

/usr/lib64/libstdc++.so.6

/root/usr/lib/i386-linux-gnu/libstdc++.so.6

 

建立软连接:  》 ln –s libstdc++.so.6.0.17   libstdc++.so.6

4 . ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19' not found (required by /usr/local/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow.so)

错误原因:32位软件包尝试载入64位库

 

5 . ImportError: libstdc++.so.6: cannot open shared object file: No such file or directory

 

三.升级gcc

参考:https://github.com/qiwsir/ITArticles/blob/master/Linux/upgrade_gcc_on_Centos.md

 

 

参考:   https://blog.csdn.net/harith/article/details/17839751

1 》 wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz

 

2 》tar -xvzf gcc-4.8.1.tar.gz

 

3 》cd gcc-4.8.1

 

4.》./contrib/download_prerequisites

 

5 .与gcc_4.8.1 平级创建build_gcc_4.8.1

cd ../

mkdir build_gcc_4.8.1

6.编译安装

 cd build_gcc_4.8.1

../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib  

make -j23

make install

 

 

编译错误处理:

 

错误原因:configure: error: C++ compiler missing or inoperational

 

make[2]: \*** [configure-stage1-libcpp] Error 1    

make[2]: Leaving directory `/home/liukk/gcc-4.8.1'    

make[1]: \*** [stage1-bubble] Error 2    

make[1]: Leaving directory `/home/liukk/gcc-4.8.1'    

make: \*** [all] Error 2

  1. 错误处理:yum install gcc-c++  

错了这么多。。。。。。终于成功啦。。。。。。啊啊啊。。。。@@@@@!!!!

四.Tensorflow 的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值