【问题标题】:valgrind doesn't accept newest version of glibcvalgrind 不接受最新版本的 glibc
【发布时间】:2012-05-09 15:01:17
【问题描述】:

Valgrind 不喜欢 glibc 2.15:

checking the GLIBC_VERSION version... unsupported version 2.15
configure: error: Valgrind requires glibc version 2.2 - 2.14

我该如何处理?我必须降级glibc吗?如果有相关信息,我正在开发 Ubuntu 12.04。

更新:

所以我尝试从那里下载源代码并安装,而不是使用 apt-get,因为我正在经历 Learn C the Hard Way。在我遇到这个问题后,我求助于 apt-get 看看它是否可以工作。它为我安装了这个包:

libc6-dbg - Embedded GNU C Library: detached debugging symbols

【问题讨论】:

    标签: valgrind


    【解决方案1】:

    我也在浏览这本书并遇到了这个问题。我用谷歌搜索了它,然后按照 Employeed Russian 的建议来到这里,我进去玩了配置文件并让它工作。

    进入您的配置到大约第 6404 行,然后将其粘贴到:

             2.15)
    { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5
    $as_echo "2.15 family" >&6; }
    
    $as_echo "#define GLIBC_2_14 1" >>confdefs.h
    
    DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
    DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
    DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
    ;;
    

    然后我运行configuremake,然后运行sudo make install,一切都奏效了。

    在 configure.in 文件中,我还添加了 777 左右的代码,但我认为这对最终结果并不重要,如果我基本上只是复制了之前引用 2.14 的内容,粘贴并将其全部更改为 2.15

    希望对你有帮助

    【讨论】:

    • 非常感谢。我也能够安装和执行 make 和 install 命令。想到valgrind现在抱怨使用“安装glibc的debuginfo”,valgrind本身好像已经安装好了。非常感谢。
    【解决方案2】:

    valgrind 3.9.0 和 glibc 2.19 更新:

    我遇到了同样的问题,并将其添加到配置脚本中,在 darwin) 行之前,修复了它:

         2.19)
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5
    $as_echo "2.19 family" >&6; }
    
    $as_echo "#define GLIBC_2_19 1" >>confdefs.h
    
        DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
        DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
        DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
        ;;
    

    在 KUbuntu 14.04 上测试

    【讨论】:

    • 记住行号改为6551。所以不要在6404周围复制它(对于那些害怕编辑配置文件的人)。
    【解决方案3】:

    我该如何处理?

    两种方式之一:

    1. 使用您的发行版并下载他们已经为您构建的软件包,或者
    2. 找出问题(即2.15添加到configure.in后,configure没有重新生成)并修复它。

    我必须降级 glibc 吗?

    这可能会使您的系统无法启动(因为大多数其他二进制文件都依赖于 2.15)。

    【讨论】:

      【解决方案4】:

      针对 valgrind-3.8.1 进行了更新(这应该适用于任何准当前的 Linux 机器——在 Slackware 14.0 上测试过):

      在“valgrind-3.8.1/configure”文件的“2.16”结尾和“darwin”开头之间添加了一个“2.17”选项(大约第 6607 行)。

      工作就像一个魅力!感谢各位大侠的帮助!

      干杯!

      --在

      【讨论】:

        【解决方案5】:

        似乎,每当发布新版本时,终端都会要求使用不同版本的 Glibc。所以如果终端给出这样的错误:

        checking the GLIBC_VERSION version... unsupported version 2.19
        configure: error: Valgrind requires glibc version 2.2 - 2.14
        

        然后您需要编辑 2.19 版本的配置文件,因为该版本不受支持,如终端报告的那样。

        所以在一些文本编辑器中打开 - 从 valgrind 目录中调用 configure 的文件,通过 CTRL+F 找到以下代码:

        case "${GLIBC_VERSION}" in 2.2)

        当您在编辑器中到达该行时(总行号可能会根据发布版本而变化)您会发现以下代码以 2.2) 开头。

                2.2)
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5
        $as_echo "2.15 family" >&6; }
        
        $as_echo "#define GLIBC_2_14 1" >>confdefs.h
        
        DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
        DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
        DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
        ;;
        

        如果您向下滚动,您会发现所有其他版本的代码都相同 from 2.2 to 2.21... 。在上一个版本之后复制并粘贴上一个版本的代码(请注意,仅在我的情况下它是2.2 版本,它以2.2) 开头,您需要将所有这些2.2) 更改为终端所需的版本在我的情况下是2.19)

        因此,如果终端需要版本 2.19,您将添加的代码将如下所示:

             2.19)
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5
        $as_echo "2.19 family" >&6; }
        
        $as_echo "#define GLIBC_2_19 1" >>confdefs.h
        
        DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
        DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
        DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
        ;;
        

        如果沿着你的代码往下走,下一行应该有darwin)

        【讨论】:

        • 那是我的错误:检查 GLIBC_VERSION 版本...不支持的版本 2.21 配置:错误:Valgrind 需要 glibc 版本 2.2 - 2.19 然后我按照你的指示工作,就像一个魅力。
        猜你喜欢
        • 2012-12-06
        • 2016-06-26
        • 2020-02-23
        • 2018-07-21
        • 2020-10-12
        • 2015-09-17
        • 2012-06-01
        • 2013-04-03
        • 1970-01-01
        相关资源
        最近更新 更多