libjvm.so: não é possível abrir o arquivo de objeto compartilhado: Nenhum arquivo ou diretório

5

Tentando instalar o pacote rJava no R, no meu Ubuntu 14.10, usando este código

if (!require(rJava)) install.packages('rJava')

tem alguns erros relacionados a java incluindo problemas jni, depois de reinstalar o jdk, e tentou rodar o mesmo código novamente, pegou esse erro

Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/usr/local/lib/R/site-library/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/usr/local/lib/R/site-library/rJava’
Warning in install.packages :
  installation of package ‘rJava’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/RtmpfFjrp0/downloaded_packages’
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘rJava’

procurou por soluções, para encontrar praticamente todo mundo sugerindo (por x64) para executar esses comandos

export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/lib/amd64:/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
sudo R CMD javareconf 

mas isso não funcionou, há mais alguma coisa que eu possa fazer? Vou fornecer todos os detalhes necessários, e procurar por libjvm.so em toda a máquina resultou neste

/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so
/usr/lib/jvm/jdk1.8.25/jre/lib/amd64/server/libjvm.so
/usr/local/java/jre1.7.0_75/lib/amd64/server/libjvm.so
    
por tan 12.02.2015 / 07:57

3 respostas

7

Executar o seguinte deve resolver seu problema:

$ export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
$ sudo R CMD javareconf
    
por Samuel-Rosa 25.01.2016 / 14:00
1

Às vezes você precisa deste R CMD javareconf -e

veja link

    
por Belter 01.03.2017 / 05:27
1

Etapas:

  1. Encontre o seu local R. Ele será armazenado no arquivo rsession-ld-library-path in rserver.conf . Ou apenas fazendo which R . A localização geralmente é /usr/lib64/R/lib ou /usr/lib64/microsoft-r/3.3/lib64/R/lib

  2. Encontre o arquivo libjvm.so , que geralmente está no caminho usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server , dependendo de qual jre você está usando. Verifique echo $JAVA_HOME .

  3. Crie um symlink usando ln -s sudo ln -s /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib64/microsoft-r/3.3/lib64/R/lib/libjvm.so

  4. Reinicie o servidor R

por Tejas Lodaya 29.08.2017 / 08:48

Tags