Linux 解决报错"libc.so.6: version GLIBC_2.14 not found"

触发场景

java服务端解析apk装了apktool之后仍无法读取,看一下log发现"libc.so.6: version GLIBC_2.14 not found"

 

报错原因

查看服务器支持的glibc得知这台服务器最高支持2.12的,而我装的apktool这个版本需要的是2.14版本的。

 

glibc是啥?

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

很多linux的基本命令,比如cp, rm, ll,ln等,都得依赖于它,如果操作错误或者升级失败会导致系统命令不能使用,严重的造成系统退出后无法重新进入,所以操作时候需要慎重。 

 

解决办法(升级glibc)

 

查看服务器执行的glibc版本

[root@skr1 ~]# 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

由上可知:最高支持的是2.12版本。

 

下载glibc

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

编译(make较费时,耐心等待)

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

查看软链接指向

[root@skr1 build]# ll /lib64/libc.so.6
lrwxrwxrwx 1 root root 12 Dec  5 10:08 /lib64/libc.so.6 -> libc-2.14.so

由上可见/lib64/libc.so.6软链接已经指向libc2.14版本

再次查看服务器支持的glibc版本

[root@skr1 /]# 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_2.13
GLIBC_2.14
GLIBC_PRIVATE

搞定咯!

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

954L

帮帮孩子把~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值