web-dev-qa-db-ja.com

エラー:インストールされたパッケージを今すぐロードできません

EclipseでRコンソールを実行しようとすると、次のエラーが表示されました。

_....Please make sure that R package 'rj' (1.1 or compatible) is installed...
_

だから私はこのようにRコンソールにインストールしようとしました:

_install.packages(c("rj", "rj.Gd"), repos="http://download.walware.de/rj-1.1")
_

このエラーが発生しました:

_ ** testing if installed package can be loaded
 Error : .onLoad failed in loadNamespace() for 'rj.Gd', details:
 call: dyn.load(file, DLLpath = DLLpath, ...)
 error: unable to load shared object '/home/alex/R/x86_64-pc-linux-gnu-library/2.15/rj.Gd/libs/rj.Gd.so':
 libjvm.so: cannot open shared object file: No such file or directory
 Error: loading failed
 Execution halted
 ERROR: loading failed
_

そして、次を使用してrJavaをインストールすると、install.packages("rJava")が同様のエラーを取得することがわかりました。

_** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/home/alex/R/x86_64-pc-linux-gnu-library/2.15/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
_

_Sudo R CMD javareconf_を実行すると、次の出力が得られました。

_Java interpreter : /usr/bin/Java
Java version     : 1.7.0
Java home path   : /usr/lib/jvm/Java-7-Oracle/jre
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
NOTE: Your JVM has a bogus Java.library.path system property!
Trying a heuristic via Sun.boot.library.path to find jvm library...
Java library path: $(Java_HOME)/lib/AMD64:$(Java_HOME)/lib/AMD64/server
JNI linker flags : -L$(Java_HOME)/lib/AMD64 -L$(Java_HOME)/lib/AMD64/server -ljvm
JNI cpp flags    : -I$(Java_HOME)/../include -I$(Java_HOME)/../include/linux

Updating Java configuration in /etc/R
Done.
_

ところで、私の構成は次のとおりです。

_Ubuntu 11.10 64bit
Eclipse 3.7
Oracle-1.7-jdk
R version 2.15.1 
_
40
Alex Luya

私は解決策を見つけました:

export LD_LIBRARY_PATH=/usr/lib/jvm/Java-7-Oracle/lib/AMD64:/usr/lib/jvm/Java-7-Oracle/jre/lib/AMD64/server

それから

Sudo R CMD javareconf

注:パス(Java-7-Oracle)は、Javaインストールに基づいて更新する必要があります。

21
Alex Luya

Linux(Ubuntu)ユーザーの場合: Oracle-Java(7/8) がインストールされている場合。この場所にあります/usr/lib/jvmおよびSudoアクセスが必要です。

次のエントリを使用してファイル/etc/ld.so.conf.d/Java.confを作成します。

/usr/lib/jvm/Java-8-Oracle/jre/lib/AMD64
/usr/lib/jvm/Java-8-Oracle/jre/lib/AMD64/server

(Javaバージョン)に応じてJava-8-OracleをJava-7-Oracleに置き換えます)

次に:

Sudo ldconfig

RStudioを再起動してから、rJavaパッケージをインストールします。

OR

また、代替方法として、LD_LIBRARY_PATHをJavaコマンドから取得したライブラリパスR CMD javareconf -e]でエクスポートし、install.packagesを実行する方法もあります。

77
Tejus Prasad

私は同様の問題を得て、実行することでそれを解決することができました

R CMD javareconf -e

R CMD javareconf -eの出力

Java interpreter : /export/apps/jdk/JDK-1_6_0_27/jre/bin/Java
Java version     : 1.6.0_27
Java home path   : /export/apps/jdk/JDK-1_6_0_27
Java compiler    : /export/apps/jdk/JDK-1_6_0_27/bin/javac
Java headers gen.: /export/apps/jdk/JDK-1_6_0_27/bin/javah
Java archive tool: /export/apps/jdk/JDK-1_6_0_27/bin/jar
Java library path: /export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64/server:/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64:/export/apps/jdk/JDK-1_6_0_27/jre/../lib/AMD64:/usr/Java/packages/lib/AMD64:/usr/lib64:/lib64:/lib:/usr/lib
JNI linker flags : -L/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64/server -L/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64 -L/export/apps/jdk/JDK-1_6_0_27/jre/../lib/AMD64 -L/usr/Java/packages/lib/AMD64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm
JNI cpp flags    : -I/export/apps/jdk/JDK-1_6_0_27/include -I/export/apps/jdk/JDK-1_6_0_27/include/linux

The following Java variables have been exported:
Java_HOME Java JAVAC JAVAH JAR Java_LIBS Java_CPPFLAGS Java_LD_LIBRARY_PATH
Running: /bin/bash

上記の出力に示すように、LD_LIBRARY_PATHJava_LD_LIBRARY_PATHと同じ値に設定した後。 rjをインストールできました。

export LD_LIBRARY_PATH=/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64/server:/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64:/export/apps/jdk/JDK-1_6_0_27/jre/../lib/AMD64:/usr/Java/packages/lib/AMD64:/usr/lib64:/lib64:/lib:/usr/lib

Rを実行してからrjをインストールします

install.packages(c("rj", "rj.Gd"), repos="http://download.walware.de/rj-1.1")
28
user73515

私は次のことを行い、それは私のために働いた:

export LD_LIBRARY_PATH=$Java_LD_LIBRARY_PATH
Sudo R CMD javareconf

Rも再起動する必要がありました。

9
Ankit

数年後、OracleのJavaへの移行が必要なパッケージのインストールに失敗した後、Rによって報告されたエラーを検索した後、この質問に行き着きました。

それを修正するために私がしなければならなかったすべては:

$ Sudo R CMD javareconf

3
user3673

または単にRにライブラリを設定しますか?

私はRでこのコマンドを実行しました:

Sys.setenv(Java_HOME='/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server')

( "/ usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server"をJava "Sudo R CMD javareconf ")

最もエレガントなソリューションではないかもしれませんが、私にとってはうまくいきました!

2

Sudo apt-get install jdk-*で修正できるjdkがインストールされていませんでした。その後、Sudo R CMD javareconfを実行すると、以前に常にエラーメッセージが表示されていました。すべてが正しく設定され、必要な場合は手動での週は不要であり、その後、パッケージのインストールはRでスムーズに実行されました(再起動が必要).

1
joaoal

上記のどれもうまくいきませんでした。LinuxUbuntuにrJavaを問題なくインストールした唯一の解決策は、ベースRのインストール後にRScriptコマンドを渡すことでした。

$ Sudo Rscript -e 'install.packages("rJava", repos = "http://cran.r-project.org/")'
0
simtim

これにより、LD_LIBRARY_PATHの問題が修正されます(Linux、Debian 7.1.0、tc-Shell、Rバージョン3.0.2):

この行を.cshrcに追加します。

setenv LD_LIBRARY_PATH $ Java_HOME/jre/lib/AMD64:$ Java_HOME/jre/lib/AMD64/server

このコマンドを〜/ .loginに追加するだけでは不十分です。環境変数LD_LIBRARY_PATHは、新しいxtermではまだ不明でした:echo $ LD_LIBRARY_PATH:LD_LIBRARY_PATH:未定義変数。 (なぜ??)

奇妙なことに、Rをスーパーユーザーとして起動したとき、libjvm.soを見つけることに問題はありませんでした。

0
user3346151

欠落しているlimjvm.soエラーに直面した場合、/etc/Rの構成に対して/usr/lib/R/etcの標準構成から正しいldpathsが選択されることを確認してください。

0
jnas

RをSudoで実行し、install.packages('rJava`)を実行することでこれを修正しました。

0
rsmith54