「/lib/x86_64-linux-gnu/libc.so.6:バージョン `GLIBC_2.14 'が見つかりません」の修正方法


28

このエラーを修正する方法:

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found

プラットフォーム:

Linux alef 3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux

回答:


30

つまり、プログラムはglibcバージョン2.14に対してコンパイルされており、実行するにはそのバージョンが必要ですが、システムには古いバージョンがインストールされています。システムにあるglibcのバージョンに対してプログラムを再コンパイルするか、新しいバージョンのglibc(Debianの「libc6」パッケージ)をインストールする必要があります。

Debianの「実験的」リポジトリにはglibc 2.16がありますが、プログラムを再コンパイルする方が安全です。Glibcはすべてが依存するライブラリであるため、アップグレードすると広範囲に影響する可能性があります。Debianのglibc 2.16パッケージにはおそらく何も問題はありませんが、実験的なリポジトリにあるという事実は、それほど多くのテストを受けていないことを意味します。


4
これはとてもクールな答えであり、私は各文を理解しました:)。私のマシンの下でそれを再コンパイルする方法(アプリはtidesdk開発者です)、参照?しかし、私はこの答えを受け入れるつもりです、いいね。
xliiv

ここでは、debian jessieへのアップグレードが役立ちました。
-cweiske

5
これは、glibcのバージョン2.14または少なくともバージョン2.14 が必要なことを意味しますか?
フィリップ

20

ソリューションをここに投稿しました。参照用に再投稿します。

私の状況では、Debian Wheezy(デフォルトでglibc 2.13をインストール)でGLIBC_2.14を使用してアプリケーション(Ubuntu 12.04 LTSでコンパイル)を実行しようとすると、エラーが表示されます。

私はそれを実行するためにトリッキーな方法を使用し、正しい結果を得る:

  1. Ubuntu 12.04 LTSからlibc6およびlibc6-devをダウンロードします

  2. dpkgコマンドを実行して、ディレクトリ(/ home / user / fakeroot /など)にインストールします。

    $ dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    $ dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    
  3. 指定されたLD_LIBRARY_PATHでコマンドを実行します。

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. 私のアプリケーションはGLIBC_2.14のmemcpy()のみを使用し、動作します。

他のアプリケーションで正常に機能するかどうかはわかりません。役に立てば幸いです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.