V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
s609926202
V2EX  ›  问与答

GLIBC_2.14 为何在 centos 里这么难安装,,各位大神求解!!!

  •  
  •   s609926202 · 2018-08-21 15:57:33 +08:00 · 11008 次点击
    这是一个创建于 2287 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这个是出错的图: https://imgur.com/a/JLA1kQx

    看起来是 glibc 版本太低,查了下 centos 的 glibc 全部版本,最高支持 GLIBC_2.12 ;

    所以,安装 GLIBC_2.14 ,过程中又提示: configure: error: *** These critical programs are missing or too old: gcc *** Check the INSTALL file for required versions.

    但是我的 gcc 版本是 7.3.0 的、要疯了,,怎么破解

    20 条回复    2018-08-22 12:53:13 +08:00
    alvinbone88
        1
    alvinbone88  
       2018-08-21 16:33:19 +08:00
    vissssa
        2
    vissssa  
       2018-08-21 16:54:28 +08:00
    直接安装编译好的
    https://vissssa.gitbook.io/mysoul/env/sheng-ji-glibc-dao-2.17
    这个是升级到 2.17 的,你可以参考下
    wayne1027
        3
    wayne1027  
       2018-08-21 17:24:30 +08:00
    ```
    mkdir ~/glibc_install; cd ~/glibc_install

    wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz

    tar zxvf glibc-2.14.tar.gz

    cd glibc-2.14

    mkdir build

    cd build

    ../configure --prefix=/opt/glibc-2.14

    make -j4

    sudo make install

    export LD_LIBRARY_PATH=/opt/glibc-2.14/lib
    ```
    s609926202
        4
    s609926202  
    OP
       2018-08-21 17:26:19 +08:00
    @wayne1027
    执行../configure --prefix=/opt/glibc-2.14 时提示:
    These critical programs are missing or too old: gcc
    Check the INSTALL file for required versions.
    yanaraika
        5
    yanaraika  
       2018-08-21 17:26:24 +08:00
    一直无法想象为什么要用一个 glibc-2.16, gcc-7 的"CentOS 6"……
    s609926202
        6
    s609926202  
    OP
       2018-08-21 17:36:54 +08:00
    @yanaraika
    也是当需要用到 glibc_2.14 时才察觉的、、
    msg7086
        7
    msg7086  
       2018-08-21 17:37:27 +08:00
    因为 CentOS 从来就不是让你随便换核心组件版本的。

    想用其他版本的组件就不要用这个版本的 CentOS。

    自己拼命作死竟然怪系统?
    msg7086
        8
    msg7086  
       2018-08-21 17:41:26 +08:00
    不仅仅是 CentOS,每一个固定发行的发行版,都是要求你跟着他的版本走的。
    比如 Ubuntu 14.04 里 libc 是 2.19 ,那这个系统一辈子就应该要用 2.19 。你强行装上比如说 2.27 ,不炸是你本事,炸了叫做活该。
    CentOS 更是如此。
    s609926202
        9
    s609926202  
    OP
       2018-08-21 17:48:15 +08:00
    @msg7086
    呃,,那一些 npm 包随着升级会对版本有不同的要求,难道只能通过重装系统来完美解决问题吗,,
    catinred
        10
    catinred  
       2018-08-21 17:51:03 +08:00
    个人建议不要升 glibc。装新系统比自己升 glibc 版本要省事很多。
    GeruzoniAnsasu
        11
    GeruzoniAnsasu  
       2018-08-21 18:03:15 +08:00
    libc 的正确打开方式是手动编译然后用
    env LD_PRELOAD=newlibc.so 手动 preload 新的 libc

    妄图以任何其它方式,不升级发行版就升级 libc 无一例外都会炸得很惨
    GeruzoniAnsasu
        12
    GeruzoniAnsasu  
       2018-08-21 18:04:27 +08:00
    @s609926202 那些 npm 包不是给当前系统版本用的

    如果强行要用还是拖源码自己编译并解决库依赖
    AstroProfundis
        13
    AstroProfundis  
       2018-08-21 18:22:03 +08:00
    多数时候换系统比换 glibc 简单...
    kaneg
        14
    kaneg  
       2018-08-21 20:47:24 +08:00 via iPhone
    这种情况就要用 docker
    msg7086
        15
    msg7086  
       2018-08-22 00:22:35 +08:00
    @s609926202 CentOS 不是一个适合使用任何一个非适配软件的系统。
    RHEL 6 是 2010 年发布的,所以 CentOS 6 能够支持的就是 2010 年前后发布的软件,以及专门在 CentOS/RHEL 6 原版系统上特别测试过软件。使用其他任何软件,都是风险自己承担。

    所以用 RHEL 或者 CentOS,从来都是软件包去适配操作系统。你这个软件包如果没适配过 CentOS 6,那就很简单,不能用。(或者你有本事就魔改。当然,风险自己承担。)
    kn007
        16
    kn007  
       2018-08-22 01:09:42 +08:00
    mritd
        17
    mritd  
       2018-08-22 09:47:01 +08:00 via iPhone
    敢换 glibc 的都是勇士
    s609926202
        18
    s609926202  
    OP
       2018-08-22 09:50:53 +08:00
    @mritd
    没这么夸张吧,,升级到新版而已,,
    mritd
        19
    mritd  
       2018-08-22 09:54:58 +08:00 via iPhone
    @s609926202 这个东西不是升级个软件那么简单,你去搜搜历史血案
    huangzxx
        20
    huangzxx  
       2018-08-22 12:53:13 +08:00
    GLIBC 太基础的库了,升级系统吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3624 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:58 · PVG 08:58 · LAX 16:58 · JFK 19:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.