Подтвердить что ты не робот

Valgrind не принимает новейшую версию glibc

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, если это уместная информация.

Update:

Итак, я пытался загрузить источник и установить там вместо использования apt-get, так как я перехожу к Learn C the Hard Way. После того, как у меня возникла эта проблема, я прибегал к apt-get, чтобы посмотреть, будет ли это работать. он установил для меня этот пакет:

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

Ответ 1

Как я могу справиться с этим?

Один из двух способов:

  • Используйте свой дистрибутив и загрузите пакет, который они уже создали для вас, или
  • Выясните проблему (это значит, что configure не был восстановлен после добавления 2.15 в configure.in) и исправить его.

Мне нужно понизить glibc?

Это, скорее всего, сделает вашу систему незагруженной (поскольку большинство других двоичных файлов зависит от 2.15).

Ответ 2

Я тоже переживаю эту книгу и столкнулся с этой проблемой. Я googled это и закончил здесь после Employed 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}"
;;

Затем я запустил configure, make, а затем sudo make install, и все это сработало.

В файле configure.in я также добавил код около 777, но я не думаю, что это было важно для конечного результата, если это правда, но я просто скопировал предыдущий материал, который ссылался на 2.14, вставил и все изменил до 2.15

Надеюсь, что это поможет

Ответ 3

Обновление для valgrind 3.9.0 и glibc 2.19:

У меня была такая же проблема, и добавив это в configure script, перед строкой с 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

Ответ 4

Обновлен для valgrind-3.8.1 (и это должно работать на любой квази-текущей Linux-упаковке на Slackware 14.0):

Добавлена ​​опция "2.17" (приблизительно строка 6607) между концом "2.16" и началом "darwin" в файле "valgrind-3.8.1/configure".

Работал как шарм! Спасибо за помощь ребятам!

Ура!

- в

Ответ 5

Кажется, всякий раз, когда выпущена новая версия, терминал запрашивает разные версии Glibc. Поэтому, если терминал дает такую ​​ошибку:

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

Затем вам нужно будет отредактировать файл конфигурации для версии 2.19, потому что эта версия не поддерживается, как указано в теме.

Итак, найдите и откройте файл configure в каталоге valgrind и через 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}"
;;

И если вы придете, должен быть тот же код для каждой версии от 2.2 до 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).