低版本Linux内核导入TensorFlow(完美解决)

主要记录在应用服务器上,操作系统内核过低(低于3.1不能使用Docker)

问题1:version'GLIBC_2.7'not found ,原因GLIBC版本太低,需升级版本

GLIBC版本太低====》解决方案:升级GLIBC

问题2:*** These critical programs are missing or too old: as ld gcc

升级gcc、as、ld

升级gcc,先升级gcc的三个依赖包

安装过程基本相同,建立在/usr/local目录下建立单独的升级程序包文件夹,让整个升级过程很清晰

tar -jxvf gmp-5.0.5.tar.bz2
cd gmp-5.0.5
mkdir gmp-build
mkdir /usr/local/gmp-5.0.5
cd gmp-build
../configure --prefix=/usr/local/gmp-5.0.5
make & make check
make install
tar -zxvf mpfr-3.0.1.tar.gz
cd mpfr-3.0.1
mkdir mpfr-build
mkdir /usr/local/mpfr-3.0.1
cd mpfr-build
../configure --prefix=/usr/local/mpfr-3.0.1 --with-gmp=/usr/local/gmp-5.0.5
make & make check
make install
tar -zxvf mpc-1.0.1.tar.gz
cd mpc-1.0.1
mkdir mpc-build
mkdir /usr/local/mpc-1.0.1
cd mpc-build
../configure --prefix=/usr/local/mpc-1.0.1 --with-gmp=/usr/local/gmp-5.0.5 --with-mpfr=/usr/local/mpfr-3.0.1
make & make check
make install

依赖包安装完成后配置环境变量

vim ~/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-6.1.1/lib:/usr/local/mpfr-3.1.5/lib:/usr/local/mpc-1.0.3/lib
source ~/.bash_profile

编译gcc:

cd gcc-4.8.5
mkdir gcc-build
mkdir /usr/local/gcc-4.8.5
cd gcc-build

../configure --prefix=/usr/local/gcc-4.8.5 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.1 --with-mpfr=/usr/local/mpfr-3.1.5 --with-mpc=/usr/local/mpc-1.0.3

make 
make install

升级gcc

cd /usr/bin

ln -sf /usr/local/gcc-4.8.5/bin/gcc /usr/bin/gcc

ln -sf gcc cc

ln -sf /usr/local/gcc-4.8.5/bin/g++ /usr/bin/g++

ln -sf /usr/local/gcc-4.8.5/bin/c++ /usr/bin/c++

cp /usr/local/gcc-4.8.5/lib64/libstdc++.so.6.0.20 /usr/lib64

ln -sf /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6

gcc --version
gcc(GCC)4.8.5

完成gcc升级

升级as、ld 这两个均在binutils里,升级binutils即可

tar -zxvf binutils-2.23.tar.gz

cd binutils-2.23
mkdir /usr/local/binutils-2.23
mkdir binutils-build
cd binutils-build

../configure --prefix=/usr/local/binutils-2.23

make && make install

备份

mv /usr/bin/ld /usr/bin/ld_back

mv /usr/bin/as /usr/bin/as_back

创建软链接

ln -s /usr/local/binutils/bin/ld /usr/bin/ld

ln -s /usr/local/binutils/bin/as /usr/bin/as

最后编译glibc

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

ldd --version

ldd(GUN libc) 2.17

更新成功,可以正常import tensorflow了

 

######

升级过程中,查看了好多博客在安装新的glibc之前删除旧的软链接有可能会导致系统的一些命令使用不了,所以就没使用这种方法,而是直接在编译安装的时候指定了/usr路径,安装完后直接就可以用了。

参考:https://blog.csdn.net/u013305101/article/details/80669974

           https://blog.csdn.net/cjf_wei/article/details/78572872

            https://www.cnblogs.com/relax-zw/p/11328453.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值