1. ホーム
  2. r

[解決済み] R: rJava パッケージのインストールに失敗する

2022-07-29 11:57:03

質問

rJava をインストールする際に install.packages("rJava") コマンドを使用してインストールすると、次のエラーが発生します。

checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver    : '/usr/bin/jar'
compiler    : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags   : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs   : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’

Java JDKをインストールし java -version は以下を返します。

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

このエラーについてググってみると、他の人が同じ問題を抱えていることがわかりますが、"JRE だけでなく JDK 全体をインストールする以外の解決策は見つかりませんでした。

私が読んだ他のことは sudo R CMD javareconf を実行することであり、これはエラーもなく非常に楽しく実行されます。

私の問題が何であるかについて何か考えがありますか?

[編集]]してください。 私がこの問題を持っていたときから数ヶ月が経ちました。私は最初に、私が以下に投稿した回答に示されているように、私の Java パスを編集することによって、これを解決しました。私は最近、新しいUbuntuのインストールで同じ問題に遭遇しました。私は、Dirkの推奨するapt-getを使用してrJavaパッケージをインストールすることを試みました。これは完璧に機能しました。私が最初に理解できなかったことは、Ubuntu の apt-get メソッドを使用してパッケージをインストールすることは、R の内部で install.packages() を使用して同じパッケージをロードするだけとは根本的に異なるということです。

どのように解決するのか?

私の問題は、私の JAVA_HOME 環境変数の問題であることがわかりました。そう、衝撃的なことです。私の初期設定は PATHJAVA_HOME はこのように見えました。

export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin

そして /jre を追加して、以下のようになりました。

export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin

を使わなくても、Java ではすべて問題なく動作するようでした。 /jre がなくても問題なく動作しているように見えますが、rJavaはそうではありません。奇妙なことです。