valgrind doesn't accept newest version of glibc

前端 未结 5 442
孤城傲影
孤城傲影 2021-02-05 05:50

Valgrind doesn\'t like glibc 2.15:

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


        
相关标签:
5条回答
  • It seems, whenever a new version is released terminal asks for different versions of Glibc. So if terminal gives such an error:

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

    Then you need to edit configure file for 2.19 version, because that version is unsupported as reported in the teminal.

    So open in some text editor - the file called configure from the valgrind directory, find the following piece of code via CTRL+F:

    case "${GLIBC_VERSION}" in 2.2)

    When you get to that line in the editor(always line number may change depending on release version) you find the below code beginning with 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}"
    ;;
    

    And if you scroll down, you find the same code for every other version from 2.2 to 2.21... . Copy&Paste the code of last version after last version (notice that only in my case it is 2.2 version, which is beginning with 2.2) you need to change all those 2.2)'s to the version you are required from terminal which is 2.19) in my case.

    So if version 2.19 is required by terminal the code you will be adding will look like:

         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}"
    ;;
    

    And following your code if go down the file there should be darwin) on the next lines.

    0 讨论(0)
  • 2021-02-05 06:27

    Refreshed for valgrind-3.8.1 (and this should work on any quasi-current Linux box -- tested on Slackware 14.0):

    Added a "2.17" option (approximately line 6607) between the end of "2.16" & the beginning of "darwin" in "valgrind-3.8.1/configure" file.

    Worked like a charm! Thanks for the assist guys!

    Cheers!

    --at

    0 讨论(0)
  • 2021-02-05 06:33

    How can I deal with this?

    One of two ways:

    1. Use your distribution and download the package they've already built for you, or
    2. Figure out the problem (which is that configure has not been regenerated after 2.15 was added to configure.in) and fix it.

    do I have to downgrade glibc?

    That will likely render your system un-bootable (because most other binaries depend on 2.15).

    0 讨论(0)
  • 2021-02-05 06:33

    Update for valgrind 3.9.0 and glibc 2.19:

    I was having the same issue, and adding this to the configure script, before the line with darwin), fixed it:

         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}"
        ;;
    

    Tested on KUbuntu 14.04

    0 讨论(0)
  • 2021-02-05 06:39

    I'm going through this book too and ran into this problem. I googled it and ended up here following Employeed Russian's advice I went in and played with the configure files and got it to work.

    Go into your configure to about line 6404 and then paste this in:

             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}"
    ;;
    

    Then I ran configure, make and then sudo make install and it all worked.

    In the configure.in file I also added code around 777 but I dont think it was important to the final result, if it is though I basically just copied the previous stuff that referenced 2.14, pasted and changed it all to 2.15

    Hope this helps

    0 讨论(0)
提交回复
热议问题