ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux下安装glibc-2.14,解决“`GLIBC_2.14' not found”问题

2021-05-17 17:05:12  阅读:313  来源: 互联网

标签:libc glibc Linux 2.3 lib64 2.14 GLIBC



 
最近在使用rpm安装MySQL时,出现下面错误,为解决这个错误查询资料整理如下

    [root@localhost ~]# rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm --nodeps --force
    warning: mysql-community-server-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
    Preparing...                ########################################### [100%]
       1:mysql-community-server ########################################### [100%]
    /usr/bin/my_print_defaults: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/bin/my_print_defaults)

第一步:下载glibc-2.14

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

第二步:安装glibc-2.14

解压

tar -xzvf glibc-2.14.tar.gz

预编译

    cd glibc-2.14
    mkdir build #创建编译目录
    cd build
    ../configure --prefix=/usr/local/glibc-2.14 #配置预编译

编译安装

    make # 编译,提高效率加上参数 -j4
    make install #安装

make -j4说明参考https://blog.csdn.net/androiddeveloper_lee/article/details/32136261

第三步:建立软连接解决问题

ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6

一下转自:https://blog.csdn.net/lucky_greenegg/article/details/51199209

如果还是不行,可以查看一下系统此时的GLIBC版本,参考一开始的做法。如果版本未升级,我们只能手动安装一下:

首先make是成功了,那么我们会发现build目录下编译出了一个新的libc.so.6 (glibc-2.14/build/libc.so.6,我们会发现这实际上也是一个软连接,真实的lib文件时libc.so, 输出

    [root@localhost build]# strings libc.so|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

这是我们需要的lib了,然后去更新系统的库。

这里要注意,更新系统里的链接(我的是/lib64/libc.so.6) 很容易出错,我不清楚有没有更好的办法,一般都是删除旧链接,建立新链接,但删除旧链接后,很多命令直接不能用了,因为此时中不到glibc的库了。这个时候就需要临时指定一个glibc库,方法如下(libc.so改个名以便好以后更新的其他版本区分):

    cp /root/glibc-2.14/build/libc.so /lib64/libc-2.14.so #/root/glibc-2.14/build为编译目录
    rm -rf /lib64/libc.so.6 # 删除原链接
    LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6

更新连接完毕,然后验证,如下表示成功

    [root@localhost build]# 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

 
————————————————
 

标签:libc,glibc,Linux,2.3,lib64,2.14,GLIBC
来源: https://www.cnblogs.com/dh17/p/14777599.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有