Установите xlsx и rJava на macOS Mavericks 10.9.5

Это настоящий кошмар для установки rjava на моем Mac.

Моя настройка:

MacOS 10.9.5
Java: 7u71 (64 bits dowloaded from Oracle site)
R: R version 3.1.1 (2014-07-10)

Сначала в командной строке я запустил

sudo R CMD javareconf

Тогда я побежал внутрь R:

install.packages('rJava')

Ошибка в конце компиляции такова:

JavaVM -F/opt/local/Library/Frameworks/R.framework/.. -framework R -llzma -lm -liconv -licuuc -licui18n
ld: library not found for -licuuc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libjri.jnilib] Error 1
make[1]: *** [src/JRI.jar] Error 2
make: *** [jri] Error 2
ERROR: compilation failed for package ‘rJava’
* removing ‘/Users/costa/Library/R/3.1/library/rJava’

Я попробовал Java 8 и Java по умолчанию java, а также получил ту же ошибку.

Ideias?

Ответ 1

Что я сделал (используя macports R) как root (sudo bash):

  • редактировать /opt/local/Library/Frameworks/R.framework/Resources/etc/Makeconf и измените строку

    LIBS =  -llzma -lm -liconv -licuuc -licui18n
    

    к

    LIBS =  -llzma -lm -liconv
    
  • установить оригинальную версию Mac Mac

  • экспорт JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

  • запустить R CMD javareconf

Теперь вы можете запустить R и сделать install.packages("rJava"). Используя версию 1.6 для Java, убедитесь, что RSTudio может загрузить пакет rJava.

Если вы не планируете использовать RStudio, вы также можете использовать Java 1.8

Ответ 2

У меня была такая же ошибка на моем компьютере (Mac OS 10.9.5, Java 1.8.0_11, R 3.1.1). Установка новейшего Java JDK из Oracle (1.8.0_25) не решила проблему (пока). Однако после обновления Java установка R 3.1.2 решила проблему для меня. После запуска install.packages("rJava") это работает:

> library("rJava")
> .jinit() # this starts the JVM
> s <- .jnew("java/lang/String", "Hello World!")
> .jcall(s,"I","length")
[1] 12

Обратите внимание, что обновление JDK отличается от версии Java в панели управления GUI Java, доступной через настройки системы. Последний является только JRE для плагина интернет-браузера.

Ответ 3

На самом деле я смог полностью не редактировать мою среду, используя двоичный файл Mac для установки rJava на моем Macbook (работа с OSX Yosemite и R версии 3.2.3). Во-первых, выполните следующие действия в R, чтобы установить rJava:

install.packages("rJava", type = "mac.binary")

Предположительно независимый от этого, по какой-то причине я не смог установить xlsx, пока не установил сначала зависимость xlsxjars. Итак, сделайте следующее в R:

install.packages(c("xlsxjars", "xlsx"))

И с этими двумя командами, xlsx, кажется, устанавливает как раз тонкое на mac!

Ответ 4

Это сработало для меня:

sudo R CMD javareconf

Тогда в R-интерпретаторе:

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

Ответ 5

У меня была такая же проблема. Я использую OS X Yosemite и сначала установил R через homebrew

Я выполнил следующие шаги, чтобы исправить это:

  • Закрыл все экземпляры R
  • В моей оболочке терминала запущен sudo R CMD javareconf
  • Открыл R из моего терминала и побежал:

    install_packages("rJava")

    install_packages("xlsx")

Ответ 6

Используя старый Java SE 6, я смог получить rJava, скомпилированный, запустив javareconf следующим образом:

JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home \
JAVA_CPPFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/ \
r CMD javareconf