Ошибка: не удалось загрузить установленные пакеты сейчас

Когда я попытался запустить консоль R в Eclipse, я получил эту ошибку:

....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 

Ответ 1

Я нашел решение:

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

Ответ 2

Для пользователей 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-8-oracle на java-7-oracle в зависимости от вашей версии Java)

Тогда:

sudo ldconfig

Перезапустите RStudio, а затем установите пакет rJava.

ИЛИ

Также альтернативным методом является экспорт LD_LIBRARY_PATH со значением пути библиотеки Java, полученного из команды R CMD javareconf -e, и запуск install.packages

Ответ 3

У меня возникла аналогичная проблема и я смог решить ее, запустив

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_PATH того же значения, что и JAVA_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")

Ответ 4

Я сделал следующее, и это сработало для меня:

export LD_LIBRARY_PATH=$JAVA_LD_LIBRARY_PATH
sudo R CMD javareconf

Мне также пришлось перезапустить R.

Ответ 5

Спустя годы я закончил этот вопрос после поиска ошибки, сообщенной R после того, как я безуспешно установил пакет, на котором требуется переход на Oracle Java.

Все, что я должен был сделать, чтобы исправить это:

$ sudo R CMD javareconf

Ответ 6

или просто установите библиотеку в 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" )

Не может быть самым изящным решением, но это сработало для меня!

Ответ 7

При отсутствии ошибок limjvm.so убедитесь, что правильный ldpaths выбран из стандартной конфигурации в /etc/R по сравнению с той, что находится в /usr/lib/R/etc.

Ответ 8

Это исправляет проблему 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 все еще не была известна в новых xterms: echo $LD_LIBRARY_PATH: LD_LIBRARY_PATH: переменная Undefined. (Почему??)

Любопытно, что при запуске R в качестве суперпользователя не было проблем с поиском libjvm.so.

Ответ 9

У меня не было установленного jdk, с которым я мог бы справиться sudo apt-get install jdk-* После этого я могу запустить sudo R CMD javareconf, который раньше всегда выводил сообщение об ошибке. Все было правильно настроено и не требовалось вручную, и после этого установка пакета выполнялась сглаженно в R (требуется перезагрузка).

Ответ 10

Я исправил это, просто запустив R с помощью sudo, а затем запустив install.packages('rJava`).

Ответ 11

Ни одно из вышеперечисленных не работало для меня, единственным решением, которое установило rJava в Linux Ubuntu без проблем, было передать команду RScript после установки базы R:

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