correto Instalação e configuração de openJDK e R

6

Eu sou relativamente novo no Ubuntu, então eu não conheço muitos comandos que provavelmente se tornaram padrão para muitos de vocês. Eu estou tentando configurar R e com ele as dependências Java necessárias para instalar, por exemplo, JRR, rjava, etc. Eu li algumas instruções para fazer isso, mas de alguma forma eu devo ter feito algo errado. Aqui está o estado de R e 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    : 

Mas quando eu tento instalar o 'JavaGD' em R, que é uma dependência para o JGR eu recebo:

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

Qualquer ajuda seria muito apreciada. Obrigado!

    
por Marco 25.01.2012 / 06:07

5 respostas

6

Eu não estou familiarizado com R, mas com base no seu console, parece que o R está exigindo um JDK enquanto você tem um JRE como variável JAVA padrão. Eu sugiro que você tenha certeza de ter o JDK instalado ou instalado ( sudo apt-get install openjdk-6-jdk ).
Certifique-se também de que sua variável de ambiente JAVA_HOME esteja apontando para o JDK e não para o JRE (você pode ver na sua saída que atualmente o caminho inicial do java está definido como /usr/lib/jvm/java-6-openjdk/jre .

    
por yossile 25.01.2012 / 07:48
5

Não se deve instalar cegamente openjdk-6-jdk . O que me ajudou, foi mudar a versão do Java. Felizmente, há uma boa ferramenta Ubuntu para fazer isso:

sudo update-alternatives --config java

Lá você pode ver quais Javas já estão disponíveis no sistema e definir o desejado. Em seguida, instale openjdk-7-jdk ou openjdk-6-jdk (ou ambos)

e apenas , em seguida, execute

sudo R CMD javareconf

Mais detalhes sobre as opções do Java estão em Wiki da Comunidade do Ubuntu

P.S. Para as pessoas que vêm do Google: Entre outras coisas, este post ajuda a resolver problemas com a instalação do rj em R, com a mensagem de erro: R is not configured with full Java support. Please make sure an JDK is installed and run R CMD javareconf . Quando fiz isso, ele disse: NOTE: Your JVM has a bogus java.library.path system property! . Então: não precisa mexer nos caminhos da biblioteca do Java! .

    
por Adam Ryczkowski 05.05.2013 / 02:51
2
  

R CMD javareconf como raiz

significa que você precisa usar o sudo para emitir seu comando:

sudo R CMD javareconf

Você será perguntado por sua senha (sua senha de usuário normal).

    
por user unknown 25.01.2012 / 11:12
0

A resposta de Yossiles ajudou-me a caminho, mas aqui está a versão para iniciantes, que também se baseia em a resposta a esta pergunta .

O que funcionou para mim foi isso: -

1) abra o / etc / environment no seu txteditor favorito:

sudo gedit /etc/environment

2) adicione uma nova linha com "JAVA_HOME" e o caminho para corrigir o diretório jr, no caso do java 8, é:

JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre"

3) crie o ambiente atualizado e verifique a variável:

source /etc/environment
echo $JAVA_HOME

4) atualize a configuração do java-R assim:

sudo R CMD javareconf

5) instale o RJava, XLConnect ou qualquer pacote R dependente de java que você esteja procurando.

    
por emilBeBri 30.05.2015 / 15:51
0

Sim, update-alternatives é o link mais conveniente para manter diferentes versões da JVM - mesmo de provedores diferentes, como o Oracle / OpenJDK. Estou aberto à correção, mas diria que é necessário um JDK e não apenas uma configuração da JVM para o R.

O esboço para se preparar para a configuração do R JAVA é:

  1. certifique-se de que a JVM necessária esteja localizada corretamente em /usr/lib/jvm
  2. configure o link usando update-alternatives --install para cada comando JAVA requerido por R
  3. use update-alternatives --configure para selecionar uma JVM padrão
  4. atualize a configuração de R

Para garantir que o JDK já esteja no local correto, consulte a lista de JVMs instaladas com o comando

ls /usr/lib/jvm

Se a pasta não incluir um JDK, reposicione toda a pasta JVM do tar.gz (download) extraído para /usr/lib/jvm com o comando:

sudo mv <JDK folder> /usr/lib/jvm

entradas de terminal separadas para update-alternatives são requeridas por R para os seguintes comandos JAVA:

  • interpretador: '/ usr / bin / java'
  • arquivador: '/ usr / bin / jar'
  • compilador: '/ usr / bin / javac'
  • cabeçalho: '/ usr / bin / javah'

as entradas para jdk1.8.0_51 são as seguintes:

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. a saída após a execução de update-alternatives --install para a JVM jdk1.8.0_51 deve ser uma saída semelhante para:

  

update-alternatives: usando /usr/lib/jvm/jdk1.8.0_51/bin/java para   fornecer / usr / bin / java (java) no modo automático

para selecionar a JVM necessária como padrão

sudo update-alternatives --config java

Se apenas uma única JVM for configurada, a seguinte saída será apresentada no terminal

  

Existe apenas uma alternativa no grupo de links java (fornecendo   / usr / bin / java): /usr/lib/jvm/jdk1.8.0_51/bin/java Nada a   configure.

como alternativa, a entrada relevante # para a JVM necessária deve ser selecionada

para verificar se a JVM correta está vinculada

java --version

finalmente, atualize a configuração do R com:

sudo R CMD javareconf

Note que esta configuração pode não estar funcionando se você tiver tentado outras formas de "hardwire" configurar sua JVM

    
por TrevorL 09.08.2015 / 21:22

Tags