Centos 6.5 的glibc默认为2.12版本,而TensorFlow等程序的运行要求2.14或者更高版本,因此需要对系统的glibc进行升级。

一般的报错为:libc.so.6: version GLIBC_2.14 not found。

注意:glibc为很多功能的依赖库,更新存在风险, 需要小心操作。

查看当前glibc版本

可使用如下命令查看系统glibc库版本:

# strings /lib64/libc.so.6 |grep GLIBC_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

一:rpm 安装方法(比较简便)

依次执行以下命令即可:

# wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm
# wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm
# wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm
# wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm
# sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \
glibc-common-2.17-55.el6.x86_64.rpm \
glibc-devel-2.17-55.el6.x86_64.rpm \
glibc-headers-2.17-55.el6.x86_64.rpm

如果遇到dependences faild的报错,则可以在最后的安装命令加上—force —nodeps参数:

sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \
glibc-common-2.17-55.el6.x86_64.rpm \
glibc-devel-2.17-55.el6.x86_64.rpm \
glibc-headers-2.17-55.el6.x86_64.rpm\
--force --nodeps

二:本地编译安装方法

1.下载glibc压缩包

下载地址:https://ftp.gnu.org/gnu/glibc/

可以从这里找到自己想要升级的目标版本,下载到本地,如:https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz

2、解压

# tar -xzvf glibc-2.17.tar.gz

3.更改工作目录

# cd glibc-2.17

4.安装

# mkdir build    // 在glibc-2.17目录下建立build文件夹
# cd build        // 进入build目录
# ../configure --prefix=/opt/glibc-2.17 // 配置glibc并设置当前glibc-2.17安装目录
# make && make install        // 编译安装glibc-2.17库

5.设置软连接

# rm -rf /lib64/libc.so.6    // 先删除先前的libc.so.6软链
# LD_PRELOAD=/opt/glibc-2.17/lib/libc-2.17.so ln -s /opt/glibc-2.17/lib/libc-2.17.so /lib64/libc.so.6    // 建立信息的libc.so.6软链

6.升级失败还原方法

# LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6 // libc-2.12.so 是系统升级前的glibc版本

7.重新检验 glibc 版本

 # strings /lib64/libc.so.6 |grep GLIBC_
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE

参考:

http://movingon.cn/2017/05/05/CentOS-6-x-%E5%A6%82%E4%BD%95%E5%8D%87%E7%BA%A7-glibc-2-17/

http://hardog.net/2016/03/06/Centos6-5-glibc-%E5%8D%87%E7%BA%A7/

最后更新: 2019年04月19日 21:37

原始链接: http://andersjing.com/2018/01/13/2018-01-13-Centos_6.5_glibc/

× 请打赏~
打赏二维码