Проблемы с настройкой Java для использования в R версии 3.5.0 и использования библиотек rJava и coreNLP - PullRequest
0 голосов
/ 02 июля 2018

Несколько дней назад я скачал установленную новую версию R:

R версия 3.5.0 (2018-04-23) - «Радость от игры» Copyright (C) 2018 R Foundation для платформы статистических вычислений: x86_64-apple-darwin15.6.0 (64-разрядная версия)

и новая версия RStudio:

Rstudio Версия 1.1.423

Однако, когда я попытался загрузить библиотеку rJava, я получил это сообщение об ошибке:

> library("rJava", 
lib.loc="/Library/Frameworks/R.framework/Versions/3.5/Resources/library")
Error: package or namespace load failed for ‘rJava’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object 
  '/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/
  rJava.so':  
  dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/library/
  rJava/libs/rJava.so, 6): Library not loaded: 
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/
libjvm.dylib
Referenced from: 
/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/
libs/rJava.so
Reason: no suitable image found.  Did find:
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libjvm.dylib: 
mach-o, but wrong architecture
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libclient.dylib 
: mach-o, but wrong architecture

Я использую Mac, и моя операционная система:

OS X Sierra 10.12.6.

Когда я увидел, что rJava не работает, я установил следующее обновление Java:

Java 8 обновление 171

и перезагрузил компьютер. Затем я попытался снова использовать rJava и coreNLP с тем же сообщением об ошибке.

Итак, я подумал, что, возможно, мне нужна более старая версия java и установленная java для macOS 2017-001, которая, очевидно, устанавливает старую среду выполнения Java 6 для macOS 10.13 High Sierra, macOS 10.12 Sierra, macOS 10.11 El Capitan, macOS 10.10 Yosemite , macOS 10.9 Mavericks, macOS 10.8 Mountain Lion и macOS 10.7 Lion. Я получил эту версию от:

https://support.apple.com/kb/dl1572?locale=es_ES 

После установки этого пакета я снова перезагрузил компьютер, открыл Rstudio и снова попытался загрузить rJava и coreNLP с тем же сообщением об ошибке. После поиска решения я нашел в Интернете предложение запустить следующую командную строку на терминале Mac:

sudo R CMD javareconf

Я выполнил команду и получил следующее сообщение об ошибке, касающееся файла jni.h :

MacBook-Air-de-Juan:~ juancarlos$ sudo R CMD javareconf
Password:
Java interpreter : /usr/bin/java 
Java version     : 1.6.0_65
Java home path   : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar

trying to compile and link a JNI program 
detected JNI cpp flags    : 
detected JNI linker flags : - 
L/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries -ljvm
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   - 
I/usr/local/include   -fPIC  -Wall -g -O2  -c conftest.c -o conftest.o
conftest.c:1:10: fatal error: 'jni.h' file not found
#include <jni.h>
     ^~~~~~~
1 error generated.
make: *** [conftest.o] Error 1
Unable to compile a JNI program


JAVA_HOME        : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Java library path: 
JNI cpp flags    : 
JNI linker flags : 
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.

Я должен сказать, что я не системный или компьютерный инженер, и мои знания по этим вопросам ограничены тем, что я нахожу в Интернете. Может ли кто-нибудь помочь мне выяснить, что означает это сообщение об ошибке и как его можно исправить, чтобы иметь возможность использовать Java в R и запускать rJava и coreNLP?

1 Ответ

0 голосов
/ 02 июля 2018

В конце я удалил среду Java, rJava и coreNLP. После этого я переустановил java version-8u171, версию java для разработчиков jdk-8u171, rJava и coreNLP. После этого я без проблем загрузил библиотеки de rJava и CoreNLP.

Предлагаю следовать инструкциям, написанным по следующей ссылке от github:

https://github.com/MTFA/CohortEx/wiki/Run-rJava-with-RStudio-under-OSX-10.10,-10.11-(El-Capitan)-or-10.12-(Sierra)

В моем случае, я думаю, что проблема заключалась в том, что версия комплекта разработки java, установленная на моем Mac, была слишком старой и несовместимой с rJava и coreNLP.

...