rJavaをインストールするには、R CMD javareconf -e | tee javareconf.out
cat javareconf.out
Java interpreter : /usr/lib/jvm/java-8-oracle/jre/bin/java
Java version : 1.8.0_201
Java home path : /usr/lib/jvm/java-8-oracle
Java compiler : /usr/lib/jvm/java-8-oracle/bin/javac
Java headers gen.: /usr/lib/jvm/java-8-oracle/bin/javah
Java archive tool: /usr/lib/jvm/java-8-oracle/bin/jar
trying to compile and link a JNI program
detected JNI cpp flags : -I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux
detected JNI linker flags : -L/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server -ljvm
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux -fpic -g -O2 -fdebug-prefix-map=/build/r-base-1SEA_D/r-base-3.5.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-8-oracle/jre/lib/amd64/server -ljvm -L/usr/lib/R/lib -lR
The following Java variables have been exported:
JAVA_HOME JAVA JAVAC JAVAH JAR JAVA_LIBS JAVA_CPPFLAGS JAVA_LD_LIBRARY_PATH
Running: /bin/bash
R 内からも rJava パッケージをインストールしました ( install.packages("rJava")
)。これで、R からは rJava を使用できますが、RStudio からは使用できなくなりました。
LD_LIBRARY_PATH を変更して Java ライブラリを含め、RStudio 内から rJava をインストールしようとしましたが、成功しませんでした。export LD_LIBRARY_PATH="/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server:$LD_LIBRARY_PATH"
興味深いのは、RStudio を開くとsudo rstudio kill-all
R と同じように動作するのですが、ドックのアイコンをクリックして RStudio を開くと次のエラーが発生することです。
> library(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 '/home/kzkedzierska/R/x86_64-pc-linux-gnu-library/3.5/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
RStudio を再インストールしてみました (sudo apt purge rstudio
ホーム ディレクトリに残っている .rstudio ディレクトリを手動で削除しました) が、それでも解決しませんでした...
これを修正するにはどうすればいいか、何かアイデアはありますか?
編集:
RStudio 内の rJava インストール ログから、問題は R CMD javareconf が RStudio のパスを変更しなかったことであることがわかりました。
checking Java support in R... present:
interpreter : '/usr/lib/jvm/default-java/bin/java'
archiver : '/usr/lib/jvm/default-java/bin/jar'
compiler : '/usr/lib/jvm/default-java/bin/javac'
header prep.: ''
cpp flags : '-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux'
java libs : '-L/usr/lib/jvm/default-java/lib/server -ljvm'
checking whether Java run-time works... ./configure: line 3766: /usr/lib/jvm/default-java/bin/java: No such file or directory
no
configure: error: Java interpreter '/usr/lib/jvm/default-java/bin/java' does not work
ERROR: configuration failed for package ‘rJava’
* removing ‘/home/kzkedzierska/R/x86_64-pc-linux-gnu-library/3.5/rJava’
これらを変更する方法をご存知ですか? R CMD javareconf -e
Rstudio で実行するのと同等ですか?