glibc|记录一次升级glibc遇到的坑
系统环境:centos 6.5
升级原因:
服务器上面打包按照apk包使用到aapt命令,报错“libc.so.6: version GLIBC_2.14 not found”。
因为glibc底层库的版本太低了。
解决方法:升级glibc。
使用string命令可以查看到,我们最大的CLIBC只能到2.12,没有2.14。使用rpm -qa|grep glibc 可以看到glibc的版本是2.12的,需要升级到14或者以上。
# cat /etc/redhat-release
CentOS release 6.5 (Final)
# 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
踩过的坑:使用网上编译的方式来升级很多坑。
比如报错:下面这些报错我就不多说了,网上解决方法一大把。前面三个还可以解决,第4个怎么也解决不了。可能要重装应用。比如执行mysql命令,或者执行Java命令等都会报第4个的错。可能那些应用是在2.12版本上安装的,升级之后底层库文件版本不一致导致的。我没有尝试去重装。
1、执行locale报错:Cannot set LC_CTYPE to default locale: No such file or directory
2、date查看系统时间报错:(Local time zone must be set--see zic manual page 2019 )
3、所有命令都用不了。
解决方法:export LD_LIBRARY_PATH=/usr/local/glibc-2.14/lib:$LD_LIBRARY_PATH
4、Segmentation fault (core dumped)
解决上面的方法: 使用yum安装升级glibc。我升级到2.15。反正我成功了,你们升级的时候最好先尝试编译安装的方式。
glibc安装包下载:
链接:https://pan.baidu.com/s/1_m2JVMYCJHit3OsDK8VUcw
提取码:343i
下载完之后直接yum安装四个包就行了。然后再使用这个命令去看:
strings /lib64/libc.so.6 |grep GLIBC_
【glibc|记录一次升级glibc遇到的坑】可以看到有14和15的glibc的库了。
推荐阅读
- 20170612时间和注意力开销记录
- 【故障公告】周五下午的一次突发故障
- 我要我们在一起(二)
- 洱海不是海,,人群没有你
- 我的拖延症如何控制了我,又一次
- 【剽悍读书营成长记录】2018年我收获了什么|【剽悍读书营成长记录】2018年我收获了什么 3357-小松
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- 跟身体谈恋爱
- 课后分享记录
- 记一次赛课失利