web-dev-qa-db-ja.com

Rをコンパイルするには、zlib / bz2ライブラリとヘッダーが必要です。

Debian JessieでR-3.3.2をコンパイルしようとすると、すべての依存関係がインストールされます。ただし、./configureスクリプトは、zlib/bzip2ライブラリのバージョンが最小要件と一致しないことについて文句を言います。

必要な最小バージョン:

  • zlib:1.2.6(インストール済みバージョン:1.2.11
  • bzip2:1.0.6(インストール済みバージョン:1.0.6
6
cartoonist

ライブラリのバージョンをチェックするconfigureスクリプトの部分を見ると、バージョンをstrcmpまたはstrncmpと比較しているようです。 「1.2.11」は「1.2.6」より辞書式に小さいため、一致が失敗したことを示すゼロ以外の値を返します。その上、それはそれが意図されているものでもない最初の5文字を​​比較するだけです。したがって、これはconfigureスクリプトのバグです。スクリプトを変更すると、問題が修正されました。

Zlibの場合は、次の行を見つけます。

exit(strncmp(ZLIB_VERSION, "1.2.5", 5) < 0);

次のように変更します。

exit(ZLIB_VERNUM < 0x1250);
6
cartoonist

Rを自分でインストールする際に問題が発生しました。特に、エラーが発生しました。

checking for BZ2_bzlibVersion in -lbz2... no

そのエラーをなくすには、libbz2-devをインストールする必要がありました。

残念ながら、./configureの実行中にさらにいくつかの問題が発生し、それを解決する方法を見つけるためにもう少し掘り下げなければなりませんでした。

問題に関する議論

それを読んだ後、最終的に構成を完了するには、libcurl4-openssl-devlibpcre3liblzma-devなどのいくつかのパッケージをインストールする必要があることに気付きました。

提案された引用リンク

この段階で、R3.2.0RCのインストールを試みることもできます... R-develはまだあまり分岐していません。

個人的には、依存関係を解決するために古いバージョンをインストールすると、怠惰の問題が発生すると思いますが、それは私の2セントです。

1
chase