Я относительно новичок в Ubuntu, поэтому я не знаю многих команд, которые, вероятно, стали стандартными для многих из вас, ребята. Я пытаюсь настроить R и с ним необходимые Java-зависимости для установки, например. JGR, rjava и т. Д. Я прочитал довольно много инструкций, чтобы сделать это, но каким-то образом я, должно быть, поступил неправильно. Вот состояние R и Java:
R --version
R version 2.14.1 (2011-12-22)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-pc-linux-gnu (64-bit)
java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10.1)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
R CMD javareconf
Java interpreter : /usr/bin/java
Java version : 1.6.0_23
Java home path : /usr/lib/jvm/java-6-openjdk/jre
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
Java library path: /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib/jni:/lib:/usr/lib
JNI linker flags : -L/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server -L/usr/lib/jvm/java-6-openjdk/jre/lib/amd64 -L/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64 -L/usr/java/packages/lib/amd64 -L/usr/lib/jni -L/lib -L/usr/lib -ljvm
JNI cpp flags :
Но когда я пытаюсь установить 'JavaGD' в R, что является зависимостью для JGR, я получаю:
...
checking Java support in R... present:
interpreter : '/usr/bin/java'
cpp flags : ''
java libs : '-L/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server -L/usr/lib/jvm/java-6-openjdk/jre/lib/amd64 -L/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64 -L/usr/java/packages/lib/amd64 -L/usr/lib/jni -L/lib -L/usr/lib -ljvm'
configure: error: One or more Java configuration variables are not set.
Make sure R is configured with full Java support (including JDK). Run
R CMD javareconf
as root to add Java support to R.
...
Любая помощь будет принята с благодарностью. Спасибо!
Не следует слепо устанавливать openjdk-6-jdk
. Что помогло мне, так это сменить версию Java. К счастью, для этого есть хороший инструмент Ubuntu:
sudo update-alternatives --config java
Там вы можете увидеть, какие Javas уже доступны в системе, и установить нужный. А затем установите только openjdk-7-jdk
или openjdk-6-jdk
(или оба)
и только , затем запустите
sudo R CMD javareconf
. Подробнее о выборе Java см. В Сообщество Ubuntu Wiki
PS Для людей, которые приходят сюда из Google: среди прочего, этот пост помогает решить проблемы с установкой rj в R с сообщением об ошибке: R is not configured with full Java support. Please make sure an JDK is installed and run R CMD javareconf
. Когда я это сделал, он сказал: NOTE: Your JVM has a bogus java.library.path system property!
. Итак: нет необходимости возиться с путями библиотек Java! .
Я не знаком с R, но на основе вашей консоли кажется, что R требует JDK, в то время как у вас есть JRE в качестве домашней переменной JAVA по умолчанию. Я бы посоветовал вам убедиться, что у вас установлен или установлен JDK (sudo apt-get install openjdk-6-jdk
).
Также убедитесь, что ваша переменная окружения JAVA_HOME указывает на JDK, а не на JRE (вы можете увидеть в своем выводе, что в настоящее время путь к исходному java установлен на /usr/lib/jvm/java-6-openjdk/jre
.
R CMD javareconf от имени root
означает, что вы должны использовать sudo, чтобы выдать команду:
sudo R CMD javareconf
У вас спросят пароль ( ваш обычный пароль пользователя).
Ответ Yossiles помог мне в пути, но вот версия для новичков, которая также опирается на ответ на этот вопрос .
Что для меня сработало, так это: -
1) открыть / etc / environment в вашем любимом txteditor:
sudo gedit /etc/environment
2) добавить новую строку с помощью «JAVA_HOME» и путь к правильному jr-каталогу, в случае java 8, это:
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"
3) источник обновленной среды и проверка переменной:
source /etc/environment
echo $JAVA_HOME
4) update конфигурация java-R выглядит следующим образом:
sudo R CMD javareconf
5) установите RJava, XLConnect или любой другой j-зависимый R-пакет, который вы ищете.
Да, альтернативы обновления - наиболее удобный механизм связывания для поддержки разных версий JVM - даже от разных провайдеров, таких как Oracle / OpenJDK. Я открыт для исправления, но я бы сказал, что нужен JDK, а не только JVM для настройки R.
Схема для подготовки конфигурации R JAVA:
/usr/lib/jvm
update-alternatives --install
для каждой команды JAVA, требуемой для R update-alternatives --configure
для выбора JVM по умолчанию Чтобы убедиться, что JDK является уже в правильном расположении, запросите список установленных JVM с помощью команды
ls /usr/lib/jvm
Если папка не содержит JDK, то переместите всю папку JVM из извлеченной tar.gz
(загрузка) в /usr/lib/jvm
с командой:
sudo mv <JDK folder> /usr/lib/jvm
R требует отдельных записей терминала для альтернатив обновления для следующих команд JAVA:
записи для jdk1.8.0_51
следующие:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_51/bin/java" 2
sudo update-alternatives --install "/usr/bin/jar" "jar" "/usr/lib/jvm/jdk1.8.0_51/bin/jar" 2
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_51/bin/javac" 2
sudo update-alternatives --install "/usr/bin/javah" "javah" "/usr/lib/jvm/jdk1.8.0_51/bin/javah" 2
NB. выходные данные после выполнения update-alternatives --install
для JVM jdk1.8.0_51
должны быть похожи на выходные данные:
update-альтернативы: использование /usr/lib/jvm/jdk1.8.0_51/bin/java для предоставления / usr / bin / java (java) в автоматическом режиме
для выбора требуемой JVM по умолчанию
sudo update-alternatives --config java
Если настроена только одна JVM, то будет показан следующий вывод в терминале
Существует только одна альтернатива в группе ссылок java (предоставляющая / usr / bin / java): /usr/lib/jvm/jdk1.8.0_51/bin/java Ничего не настраивать.
в качестве альтернативы необходимо выбрать соответствующий номер записи для требуемой JVM
, чтобы убедиться, что правильная JVM связана
java --version
и, наконец, обновить настройку R с помощью:
sudo R CMD javareconf
Обратите внимание, что эта настройка может не сработать, если вы попытались «жестко» настроить вашу JVM другими способами