Rパッケージのインストール中に「/lib64/libc.so.6:バージョン 'GLIBC_2.7'が見つかりません。」エラー発生

Rパッケージのインストール中に「/lib64/libc.so.6:バージョン 'GLIBC_2.7'が見つかりません。」エラー発生

「GenomicFeatures」というRパッケージのインストールに問題があります。

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '$HOME/.R325/lib64/R/library/RCurl/libs/RCurl.so':
  /lib64/libc.so.6: version `GLIBC_2.7' not found 

確認してみると、ルート用ライブラリがありません。

/usr/lib64

私は気づいたeyoung100のフレンドリーな提案、それは私の問題を解決することができます。 Unix / Linuxに関する私の知識はまだ初期段階なので、彼はルート全体のミニバージョンを使用し、「newroot」にRPMパッケージをインストールすることをお勧めします。

システム全体をインストールしようと提案したようですが、必ず必要ですか?

どんな提案がありますか?問題を解決するために必要な情報がある場合はお知らせください。

答え1

別のアイデア(これが私がこれを新しい答えとして投稿する理由です):

一部のディストリビューションは異なる場所からライブラリをロードします。たとえば、Debianでは、libcは/usr/lib64ではなく/lib/x86_64-linux-gnuにあります。アプリケーションはシステムが構成したディレクトリからシステムライブラリをロードする必要があるため、これは互換性の問題ではありません。このアプリケーションは配線された場所からlibcをロードしようとし、これを中断するため、これはアプリケーション開発者の間違いです。

libc.so.6がどこにあるかを確認してください(最も簡単な方法:

ldd /bin/bash

コマンド) 次に、/usr/lib64にそのディレクトリへのソフトリンクを作成します(コマンド:ln -sv /my/libc/directory /usr/lib64)。

答え2

このパッケージには少なくともglibcバージョン2.7が必要です。このバージョンはまだ古いバージョンですが、ディストリビューションは古いようです。

chrootソリューションまたはシステムアップグレードの両方が可能でない場合は、他に2つの方法があります。

  1. システムではglibcのみをアップグレードできます。以前のバージョンとの互換性は強力であるため、問題は発生しない可能性がありますが、それでもシステムが修理できないほど損傷する可能性があります。

  2. 最新のglibcパッケージからローカルディレクトリにglibcファイルを抽出し、その特定のディレクトリのみを使用してプロセスを実行できます。これを行うには、環境変数LD_LIBRARY_PATHを使用できます。これがユーザーが直接呼び出すのではなく、Rによって呼び出されるRモジュールであることがわかっている場合は、その操作用にいくつかの簡単なシェルスクリプトラッパーを実装する必要があります。

関連情報