web-dev-qa-db-ja.com

OpenJDK7を使用するUbuntu14.04でrJavaが機能しないのはなぜですか?

こんにちは私はcranのrJavaパッケージに問題があります。

インストールしました

Sudo apt-get install openjdk-7-jdk
Sudo apt-get install r-cran-rjava

そして走った

Sudo R CMD javareconf
# Java interpreter : /usr/bin/Java
# Java version     : 1.7.0_55
# Java home path   : /usr/lib/jvm/Java-7-openjdk-AMD64/jre
# Java compiler    : /usr/bin/javac
# Java headers gen.: /usr/bin/javah
# Java archive tool: /usr/bin/jar

次に、Rを実行してrJavaをロードしようとすると、次のエラーが発生します。

R
> library(rJava)
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/usr/lib/R/site-library/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory
Error: package or namespace load failed for ‘rJava’

Ubuntu 14.04 64ビットを使用していて、Rバージョン3.1.0(2014-04-10)を使用しています-「SpringDance」

更新:実際、これはOpenJDKに固有のものではなく、Oracle Java 8を試したところ、同じ結果が得られました。また、この回避策を見つけました ここ これは使いたがりませんそれは確かに回避策であり、なぜそれが必要なのかを実際には説明していないので、私の意見ではパッケージシステムがこれを処理するはずでした。libjvm.soが問題のようで、ここにあります。

/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/jamvm/libjvm.so
/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server/libjvm.so
/usr/lib/jvm/Java-7-Oracle/jre/lib/AMD64/server/libjvm.so

また、Sudo R CMD javareconfで更新したにもかかわらず、何らかの理由でrJavaがそれらを見つけることができません。

更新2:プロットが厚くなる:RをSudoとして実行すると機能します。

ポインタをありがとう。

16
Dr. Mike

同様の構成(R 3.1.0、Ubuntu 12.10、32ビット)でも同じ問題が発生しました。ここで説明するように、答えはLD_LIBRARY_PATHを適切に設定することであることがわかりました: エラー:インストールされたパッケージを今すぐロードできません 問題のサブディレクトリが「サーバー」ではなく「クライアント」であることを除いて。だから今私はこのように私の環境を設定しています:

export Java_HOME=/usr/lib/jvm/Java-7-openjdk-i386
export LD_LIBRARY_PATH=$Java_HOME/jre/lib/i386:$Java_HOME/jre/lib/i386/client
7
persistentNoob

この問題は、次のようなスーパーユーザーでrstudioを開くことで解決できます。

Sudo rstudio

次にR内で実行

install.packages('rJava')
10
sagarambat

私はこの答えを使用してこれを恒久的に解決することができました: https://stackoverflow.com/a/25932828/3939832

これは、Oracle Java 7または8がインストールされている場合に役立ちます。私の場合、変数のエクスポートは永続的な解決策ではありませんでした。次の手順を実行して、Rが環境として使用しているものを確認する必要があります。

Sys.getenv("Java_HOME")

次に、上記の回答リンクに記載されているように、Java.confファイルon /etc/ld.so.conf.d/を作成することでその環境を使用できます。

7
lapisdecor

oracle Javaを使用している場合は、次のコマンドを使用します。

Sudo R CMD javareconf

使用に役立ちません:

Sudo R CMD javareconf **Java_HOME**=(path where Java home is located)
5
sourav karwa

UbuntuへのrJavaパッケージのインストールは、他のほとんどのRパッケージほど簡単ではありません。それを行う方法に関するいくつかの簡単なメモ(出典: https://www.r-bloggers.com/installing-rjava-on-ubuntu/ )。

Install the Java Runtime Environment (JRE).

Sudo apt-get install -y default-jre

Install the Java Development Kit (JDK).

Sudo apt-get install -y default-jdk

Update where R expects to find various Java files.

Sudo R CMD javareconf

Install the package.

> install.packages("rJava")

If you have a RStudio session open, then exit and restart it. This is important (a running RStudio session will not pick up these changes!).
1
Jyoti

私は多くのことを試みましたが、うまくいきませんでした。それから使ってみました

Sudo rstudio

その後

install.packages('rJava')

その動作。クール

1
Ajay Jadhav