环境:
执行命令显示:
gcc –version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
uname -r
3.10.0-693.2.2.el7.x86_64
lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core
背景
在centos需要使用某软件,执行命令时显示:
libc.so.6: version `GLIBC_2.18’ not found
执行命令:
strings /lib64/libc.so.6 |grep GLIBC_
结果中确实没有 2.18
升级glibc
下载glibc
下载地址 : https://www.gnu.org/software/libc/ http://mirrors.ustc.edu.cn/gnu/libc/
下载需要的版本的glibc
本例下载2.18:
安装
解压
tar -zxvf glibc-2.18.tar.gz
cd glibc-2.18
mkdir build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install
安装完成后会显示: Your new glibc installation seems to be ok
(make install 需要root权限)
执行
strings /lib64/libc.so.6 |grep GLIBC_
会看到 列表中有 GLIBC_2.18
说明:
1 网上有很多类似教程:
在上面安装步骤
mkdir build
cd build
后执行命令
../configure --prefix=/usr/lib64/glibc-2.18
make
make install
然后删除 /lib64/libc.so.6, 重新将 /usr/lib64/glibc-2.18/bin/lib/glibc-2.18.so 创建软连接到 /lib64/libc.so.6
试过, 不行
2 加环境变量的方式没试过
类似这种 https://blog.csdn.net/cpplang/article/details/8462768/
参考文章
https://pengyan5945.github.io/2017/09/08/centos7-glibc-update/