Centos6.5安装net-snmp时“libc.so.6: version GLIBC_2.14 not found”问题

人走茶凉 提交于 2020-03-19 16:48:35

3 月,跳不动了?>>>

从上面报错可以看出,程序运行时候,没有找到“GLIBC_2.14”这个版本库,而默认的Centos6.9 glibc版本最高为2.12, 所以需要更新系统glibc库。

glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。

二、查看系统版本和glibc库版本 我们可以使用命令查看Linux系统版本和glibc库版本


# strings /lib64/libc.so.6 |grep GLIBC_ 
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

由上面的信息可以看出系统是CentOS 6.5,最高支持glibc的版本为2.12,而Android打包使用的aapt需要2.14版本,所以需要升级。

三、下载GCC2.14编译并升级

wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz 
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.14.tar.gz 
tar -xvf  glibc-2.14.tar.gz 
tar -xvf  glibc-ports-2.14.tar.gz
mv glibc-ports-2.14 glibc-2.14/ports
mkdir glibc-2.14/build
cd glibc-2.14/build 
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install

glibc-2.14.tar.gz是gcc 2.14源码,glibc-ports-2.14.tar.gz包括gcc 2.14所有补丁源码。

如果执行以上命令完成不报错的话,查看库文件,发现/lib64/libc.so.6软链接指向了2.14版本

# ll /lib64/libc.so.6 
/lib64/libc.so.6 -> /lib64/libc-2.14.so

可以看到glibc支持的版本已经到2.14。至此,我们再次按装net-snmp时不会再报"libc.so.6: version GLIBC_2.14 not found"的错误了。 注意: 在安装过程中会遇到各种问题,需要及时百度与谷歌搜索。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!