Ubuntuの生体ビーバーのためのR 3.6でrJavaをインストールするときにエラーメッセージ「シンプルJNIプログラムを実行することができません」

Jonnoボーン:

私はrJavaはUbuntuの上で正しくインストールされないことは非常に一般的な問題を抱えています。この問題は、複数の場所でdsicussedされてきたここでここではここでは少数を示すために、。

基本的な問題はrJavaパッケージをインストールするには、次のエラーメッセージが生成されることです

configure: error: Unable to run a simple JNI program. Make sure you have configured R with Java support (see R documentation) and check config.log for failure reason.
Warning in system(cmd) : error in running command
ERROR: configuration failed for package ‘rJava’
* removing ‘/home/jonno/R/x86_64-pc-linux-gnu-library/3.6/rJava’

この問題への様々な密接に関連したソリューションがあります。それらのほとんどは使用sudo R CMD javareconfR(のJavaを設定すること-eバリアント)。いくつかの設定を提案しJAVA_HOME、環境変数にパスを(他の人はいないと言います)。その他には、一方でRをアンインストールし、再インストールをお勧め他の人が CRANからrJavaをインストール示唆しています。reccomend誰いくつかありますupdate alternativesこれらのソリューションの他のバリエーションがあります。

私ははっきりと何か間違ってやって、上記のすべての組み合わせを試してみましたが、どこにもなっていません。

入力echo $JAVA_HOMEリターンを

/usr/lib/jvm/java-11-openjdk-amd64

このように私など/環境ルックス

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/$
MKL_THREADING_LAYER=GNU
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

私はR CMDのjavaconfを実行すると、それはこのようになります

Java interpreter : /usr/lib/jvm/java-11-openjdk-amd64/java
Java version     : 11.0.4
Java home path   : /usr/lib/jvm/java-11-openjdk-amd64
Java compiler    : /usr/lib/jvm/java-11-openjdk-amd64/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/lib/jvm/java-11-openjdk-amd64/bin/jar

trying to compile and link a JNI program 
detected JNI cpp flags    : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I/usr/lib/jvm/java-11-openjdk-amd64/include -I/usr/lib/jvm/java-11-openjdk-amd64/include/linux    -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-uuRxut/r-base-3.6.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c conftest.c -o conftest.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/java-11-openjdk-amd64/lib/server -ljvm -L/usr/lib/R/lib -lR


JAVA_HOME        : /usr/lib/jvm/java-11-openjdk-amd64
Java library path: $(JAVA_HOME)/lib/server
JNI cpp flags    : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
Updating Java configuration in /usr/lib/R
Done.

何を私が間違ってやっているとどのように私はrJavaを正しくインストールするのですか?

EDIT:

首尾よく使用してrJavaをインストールするために管理したsudo apt-get install r-cran-rjava、私は次のエラーを取得する知っています

Error: package or namespace load failed for ‘rJava’:
 .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
owainkenway:

私は、オリジナルポスター(同じ場所で、私たちの仕事)を調査してきたし、問題はOpenJDK11に、彼らはいくつかの周りに移動していることである.soJVMは具体的には、に住んでいるというファイルをlibjvm.soUbuntuのパッケージ内に今あります/usr/lib/jvm/java-1.11.0-openjdk-amd64/lib/server/

あなたがrJavaのためのUbuntuのパッケージをインストールした場合でも、この手段apt install r-cran-rjavaあなたがしようとすると、それが失敗しましたlibrary(rJava)

解決策は、追加することで/usr/lib/jvm/java-1.11.0-openjdk-amd64/lib/server/、あなたに$LD_LIBRARY_PATH追加することによって:

export LD_LIBRARY_PATH=/usr/lib/jvm/java-1.11.0-openjdk-amd64/lib/server:$LD_LIBRARY_PATH

あなたの最後に~/.bashrc、新たなシェルを(または開始source ~/.bashrc)。

これは、我々がここでのOpenJDK例えば当社の中央インストールに修正しなければならなかったものです。https://github.com/UCL-RITS/rcps-buildscripts/blob/master/adoptopenjdk-11.0.3_install.sh#L46

あなたはRstudioと、この仕事はGnomeのから起動したい場合は、にそのディレクトリを追加する必要がありますldconfig

同様にroot(またはでsudo)でファイルを作成/etc/ld.so.conf.d/しますがで何かを呼び出すべき.conf延長例えばjava.conf行が含まれています。

/usr/lib/jvm/java-1.11.0-openjdk-amd64/lib/server

そしてとしてroot実行します

ldconfig -v

これは、GNOMEから起動実行可能ファイルを検索していることの場所にディレクトリを追加する必要があります。問題のこの特定の部分は、(GNOMEので設定を無視してbashrc)少なくとも9.04(以降のUbuntuで問題となっていたhttps://bugs.launchpad.net/ubuntu/+source/xorg/+bug/366728/)。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=330593&siteId=1
おすすめ