Linux基本安装

源码安装gcc6

以 redhat 环境安装gcc6为例:

源码安装 Python27

安装 TensorFlow

可能存在TensorFlow的 glibc 和 libcxx 版本与系统自带的版本不一致,会导致 import 异常,我是参考这个链接解决的: https://stackoverflow.com/questions/33655731/error-while-importing-tensorflow-in-python2-7-in-ubuntu-12-04-glibc-2-17-not-f。可能不一定适合你的情况,但是原理是一样的,即手动下载 tf 支持的 glibc 和libcxx版本,然后设置环境变量 LD_LIBRARY_PATH 使 python 加载正确的版本。我的命令如下

mkdir ~/libcenv
cd ~/libcenv
wget http://launchpadlibrarian.net/137699828/libc6_2.17-0ubuntu5_amd64.deb
wget http://launchpadlibrarian.net/137699829/libc6-dev_2.17-0ubuntu5_amd64.deb
### 论坛中的那个链接此时已经失效,换一个版本也可以,应该只要版本高于tf要求的libcxx版本即可,没有测试过,不负责任
wget ftp://rpmfind.net/linux/centos/7.3.1611/os/x86_64/Packages/libstdc++-4.8.5-11.el7.x86_64.rpm
ar p libc6_2.17-0ubuntu5_amd64.deb data.tar.gz | tar zx
ar p libc6-dev_2.17-0ubuntu5_amd64.deb data.tar.gz | tar zx
rpm2cpio libstdc++-4.8.5-11.el7.x86_64.rpm| cpio -idmv

done!

最后一步,我安装python的时候忘记指定--enable-unicode=ucs4,导致报错 undefined symbol: PyUnicodeUCS4_AsUTF8String,重新编译 python即可!对此的解释可以参考 http://blog.csdn.net/taolinke/article/details/50472451

运行时要指定环境变量,你也可以通过shell函数来做

LD_LIBRARY_PATH="$HOME/libcenv/lib/x86_64-linux-gnu/:$HOME/libcenv/usr/lib64/" $HOME/libcenv/lib/x86_64-linux-gnu/ld-2.17.so $HOME/local/usr/Python-2.7.13/bin/python

gcc常用选项

参考http://www.runoob.com/w3cnote/gcc-parameter-detail.html