R: установка пакета rJava не выполняется

При установке rJava с помощью команды install.packages("rJava") я получаю следующую ошибку:

checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver    : '/usr/bin/jar'
compiler    : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags   : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs   : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’

У меня установлен Java JDK, а java -version возвращает следующее:

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

Когда я пытаюсь найти ошибку, я вижу, что другие имеют такую ​​же проблему, но не найдут решение, отличное от "установки всего JDK, а не только JRE", который я сделал.

Другое, что я прочитал, это запустить sudo R CMD javareconf, который работает довольно успешно без ошибок.

Есть идеи, что моя проблема?

[[EDIT]] Прошло несколько месяцев с тех пор, как я столкнулся с этой проблемой. Сначала я решил это, отредактировав мои пути Java, как показано в ответе, который я опубликовал ниже. Недавно я столкнулся с той же проблемой в новой установке Ubuntu. Я попробовал рекомендацию Dirk использовать apt-get для установки пакета rJava. Он отлично работал. Первоначально я не понял, что установка пакетов с использованием метода apt-get Ubuntu принципиально отличается от загрузки одного и того же пакета с помощью install.packages() внутри R. Пакеты Ubuntu решают некоторые проблемы, которые я не понимал и не оценил,

Ответ 1

Оказывается, моя проблема была связана с моей переменной среды JAVA_HOME. Да, шокирую, я знаю. Моя начальная настройка для PATH и JAVA_HOME выглядела так:

export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin

И я добавил /jre, поэтому теперь он выглядит так:

export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin

Все в Java, казалось, отлично работало без /jre, но rJava не будет. Странно.

Ответ 2

Не было бы

apt-get install r-cran-rjava

было проще? Вы могли бы спросить меня при использованииR!:)

Ответ 3

Спасибо - ваше предложение о $JAVA_HOME привело меня к аналогичному решению:

prompt$ unset JAVA_HOME

перед вызовом R.

Ответ 5

Это работало для меня на Ubuntu 12.04 и R версии 3.0

cd /usr/lib/jvm/java-6-sun-1.6.0.26/include

это каталог с jni.h

Затем создайте мягкую ссылку на другой требуемый файл заголовка (мне слишком ленив, чтобы узнать, как включить более одного каталога в параметр JAVA_CPPFLAGS ниже):

sudo ln -s linux/jni_md.h .

Наконец

sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include

Ответ 6

ниже - один из моих ответов на другое сообщение - ошибка: не удалось загрузить установленные пакеты прямо сейчас
(это также относится к этому вопросу)

Для пользователей 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.

Ответ 7

Запуск R под Gentoo на AMD64. Я обновился до R 2.12.0

R версия 2.12.0 (2010-10-15) Copyright (C) 2010 Фонд R для статистических вычислений ISBN 3-900051-07-0 Платформа: x86_64-pc-linux-gnu (64-разрядная версия)  и эти надоедливые сообщения ушли.

Ян Вандермер

Ответ 8

Я попытался установить openjdk-7- *, но все же у меня возникли проблемы с установкой rJava. Выключается после перезагрузки компьютера, тогда проблем не было.

так

sudo apt-get install openjdk-7-*


RESTART after installing java, then try to install package "rJava" in R

Ответ 9

Для меня работало изменение JAVA_HOME из файла /usr/lib/R/etc/javaconf

Сначала я проверил, какая версия Java включена: sudo update-alternatives --config java. В моем случае это был java-8-oracle

Я открыл файл /usr/lib/R/etc/javaconf и заменил default-java на java-8-oracle:

${JAVA_HOME=/usr/lib/jvm/default-java}

заменен на:

${JAVA_HOME=/usr/lib/jvm/java-8-oracle}

И тогда sudo R CMD javareconf

Я перезапустил RStudio и смог установить rJava.

Ответ 10

что я здесь делаю:

Примечание: rjava должен быть последней версией

2:  Обновление sudo apt-get  sudo apt-get install r-cran-rjava

После обновления старой версии rjava, можно установить rhdfs_1.0.8.

Ответ 12

Пакет rJava ищет папку /usr/lib/jvm/default-java/. Но он не доступен по умолчанию. Эта папка имеет символическую ссылку для java, настроенной для системы по умолчанию.

Чтобы активировать java по умолчанию, установите следующие пакеты:

sudo apt-get install default-jre default-jre-headless

Протестировано на ubuntu 17.04 с CRAN R 3.4.1

Ответ 13

Проблема была в том, что rJava не устанавливался в RStudio (Version 1.0.136). Следующее работало для меня (macOS Sierra version 10.12.6) (находится здесь):

Шаг 1: Загрузите и установите javaforosx.dmg отсюда

Шаг 2: Затем запустите команду из RStudio:

install.packages("rJava", type = 'source')

Ответ 14

Вот как я заставляю это работать:

В Linux (Ubuntu 16.04)

sudo apt-get install default-jre
sudo apt-get install default-jdk
sudo R CMD javareconf

в R:

install.packages("rJava")

Ответ 15

Я столкнулся с той же проблемой при использовании Windows 10. Я решил проблему с помощью следующей процедуры

  1. Загрузите Java с https://java.com/en/download/windows-64bit.jsp для 64-битных окон\Установите его
  2. Загрузите комплект разработки Java по адресу https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html для 64-разрядных окон\Установите его
  3. Затем щелкните правой кнопкой мыши значок "Этот компьютер" на рабочем столе\Свойства\Дополнительные параметры системы\Дополнительно\Переменные среды\В разделе "Системные переменные" выберите "Путь"\"Изменить"\"Создать"\"Копировать и вставить пути" "C:\Program Files\Java\jdk1"..8.0_201\bin "и" C:\Program Files\Java\jre1.8.0_201\bin "(без кавычек)\OK\OK\OK

Примечание: jdk1.8.0_201 и jre1.8.0_201 будут изменены в зависимости от версии комплекта разработки Java и Java

  1. В окне "Переменные среды" перейдите в раздел "Пользовательские переменные для пользователя". Нажмите "Создать"\"Перевести имя переменной как" JAVA_HOME ", а значение переменной -" C:\Program Files\Java\jdk1.8.0_201\bin "\. Нажмите" ОК ".

Чтобы проверить установку, откройте CMD\Введите javac\Нажмите Enter и введите java\нажмите enter Появится сообщение enter image description here

В RStudio запустить

Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")

Примечание: jdk1.8.0_201 будет изменено в зависимости от версии комплекта разработки Java

Теперь вы можете без проблем установить и загрузить пакет rJava.

Ответ 16

Я столкнулся с подобной проблемой на Ubuntu 16.04 и смог решить ее, создав папку с именем "default-java" в /usr/lib/jvm и скопировав в нее все содержимое /usr/lib/jvm/java-8-oracle. Я выбрал это решение, поскольку исправление переменной среды JAVA_HOME оказалось бесполезным.