Не способный установить rJava в R (человечность 18.04)

После обновления от Ubuntu 16 до 18,4, я не могу установить rJava пакет в R.

Я читал другие сообщения как это, но я не решил свою проблему. если я работаю install.packages("rJava") на R Результаты - это:

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/salvatore/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
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/salvatore/R/x86_64-pc-linux-gnu-library/3.5/rJava’

когда я работаю sudo R CMD javareconf:

Java interpreter : /usr/lib/jvm/java-8-oracle/jre/bin/java
Java version     : 1.8.0_181
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$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
detected JNI linker flags : -L$(JAVA_HOME)/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-oNcpyf/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


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

Любая справка приветствовалась бы.

5
задан 27 August 2018 в 08:52

4 ответа

В моем случае я также должен был использовать: sudo R CMD javareconf, заставить его работать.

2
ответ дан 23 November 2019 в 09:20

На моей чистой установке Ubuntu 18.04 LTS я сделал следующее

sudo apt-get install r-base-dev default-jdk

(таким образом, у меня есть R 3.4 из официального репозитория).

Затем в R или в RStudio 1.1.456 сессии:

install.packages('rJava')

и это закончилось

* DONE (rJava)

Примечание: Я использую OpenJDK 11 по умолчанию из Бионического репозитория -

$ update-java-alternatives -l
java-1.11.0-openjdk-amd64      1101      /usr/lib/jvm/java-1.11.0-openjdk-amd64
2
ответ дан 23 November 2019 в 09:20

Под управлением 64-разрядная Ubuntu 18.04, R 3.60 и RStudio 02.01.1335.

В моем случае я должен был сделать следующее:

  1. (Временно) отключите Oracle Java 8 путем переименования jdk.csh и jdk.sh к jdk.csh.old и jdk.sh.old (в etc/profile.d).

  2. Установка java-11-openjdk.

  3. Добавьте JAVA_HOME = "/usr/lib/jvm/java-11-openjdk" к/etc/environment.

  4. Выполненный "sudo альтернативы обновления - конфигурируют Java" и выбирают "/usr/lib/jvm/java-11-openjdk-amd64.bin/java".

  5. Выполненный "sudo R CMD javareconf".

  6. Выход из системы/вход в систему.

  7. Откройте RStudio и установите rJava.

rJava затем установлен без ошибок.

1
ответ дан 23 November 2019 в 09:20

Я создаю файл bash, используя часть кода из предыдущих ответов. Это файл bash:

# JAVA_LD_LIBRARY_PATH library path necessary at run-time
# JAVA_CPPFLAGS  C preprocessor flags necessary to compile JNI programs
# JAVA_LIBS      libraries (as linker flags) necessary to compile JNI programs

export JAVA_HOME=/opt/apps/jdk
export JAVA_LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64/server
export JAVA_CPPFLAGS="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux "
export JAVA_LIBS="-L$JAVA_HOME/jre/lib/amd64/server -ljvm" 

env|grep JAVA

R CMD javareconf
0
ответ дан 5 January 2020 в 19:45

Другие вопросы по тегам:

Похожие вопросы: