22

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に取り組んでいます。

アップデート:

そのため、Learn C the Hard Wayを使用しているため、apt-getを使用する代わりに、ソースをダウンロードしてそこからインストールしようとしていました。この問題が発生した後、 apt-get に頼って、それが機能するかどうかを確認しました。このパッケージをインストールしました:

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

5 に答える 5

18

私もこの本を読んでいて、この問題に遭遇しました。私はそれをグーグルで検索し、Employeed Russianのアドバイスに従ってここにたどり着き、構成ファイルをいじって動作させました。

configure の約 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 に変更しただけですが、最終結果にとって重要だとは思いません。

お役に立てれば

于 2012-05-13T03:20:20.887 に答える
10

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 でテスト済み

于 2014-04-23T18:11:10.763 に答える
9

どうすればこれに対処できますか?

2つの方法のいずれか:

  1. ディストリビューションを使用して、すでにビルドされているパッケージをダウンロードするか、
  2. 問題(に追加されたconfigure後に再生成されていない)を見つけて修正します。2.15configure.in

glibcをダウングレードする必要がありますか?

これにより、システムが起動できなくなる可能性があります(他のほとんどのバイナリは2.15に依存しているため)。

于 2012-05-10T05:50:40.227 に答える
2

新しいバージョンがリリースされるたびに、ターミナルは異なるバージョンの 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)、次の行にコードが表示されます。

于 2015-08-23T15:38:02.637 に答える