R: ошибка установки пакета rJava

при установке 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", который я сделал.

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

любой идеи, в чем моя проблема?

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

14 ответов


не

apt-get install r-cran-rjava

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


оказывается, моя проблема была проблема с моим 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 не будет. Странный.


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

prompt$ unset JAVA_HOME

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


я столкнулся с той же проблемой, и она работала после выполнения команд ниже.

export JAVA_LIBS="$JAVA_LIBS -ldl"
R CMD javareconf

подробности на http://www-01.ibm.com/support/knowledgecenter/SSPT3X_3.0.0/com.ibm.swg.im.infosphere.biginsights.install.doc/doc/install_install_r.html


Это сработало для меня на 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

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

для пользователей Linux(Ubuntu): если у вас есть oracle-java (7/8) установлен. Это будет в этом месте /usr/lib/jvm и доступ.

создать файл /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.


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

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

Января Vandermeer


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

так

sudo apt-get install openjdk-7-*


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

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

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

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

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

заменить на :

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

а то sudo R CMD javareconf

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


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

  1. in/etc/apt / sources.список добавить:

    деб http://ftp.de.debian.org/debian Sid main

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

2 запустить: sudo apt-получить обновление sudo apt-get install r-cran-rjava

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


Я получил его работу, загрузив:https://cran.r-project.org/src/contrib/rJava_0.9-8.tar.gz и запуск команды R CMD install rJava_0.9-8.смола.gz


пакет rJava ищет . Но он недоступен по умолчанию. Эта папка имеет символическую ссылку для java по умолчанию, настроенного для системы.

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

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

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


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

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

Шаг-2: затем выполните команду изнутри RStudio:

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

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