Невозможно установить rJava в R 3.0 в Ubuntu 13.04

52

Я не могу вызвать пакет rJava в R 3.0. Я получил следующее сообщение

Error: package ‘rJava’ was built before R 3.0.0: please re-install it

Я получаю ошибку, когда пытаюсь переустановить пакет rJava. Я предоставил вывод R CMD javareconf

Java interpreter : /usr/bin/java
Java version     : 1.7.0_21
Java home path   : /usr/lib/jvm/java-7-openjdk-i386/jre
Java compiler    : /usr/lib/jvm/java-7-openjdk-i386/jre/../bin/javac
Java headers gen.: /usr/lib/jvm/java-7-openjdk-i386/jre/../bin/javah
Java archive tool: /usr/lib/jvm/java-7-openjdk-i386/jre/../bin/jar

trying to compile and link a JNI progam 
detected JNI cpp flags    : 
detected JNI linker flags : 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -O2 -pipe -g  -c conftest.c -o conftest.o
conftest.c:1:17: fatal error: jni.h: No such file or directory
compilation terminated.
make: *** [conftest.o] Error 1
Unable to compile a JNI program


Java library path: 
JNI cpp flags    : 
JNI linker flags : 
Updating Java configuration in /usr/lib/R
Done.

Я использую Ubuntu 13.04. Я также пробовал apt-get install r-cran-rjava, который не помогает решить проблему. Что касается jni.h, здесь было какое-то решение . Но не знаете, как я могу использовать это решение здесь.

Теги:
jni
rjava

3 ответа

75
Лучший ответ

Я столкнулся с той же проблемой. Моим решением было установить openjdk-7- * через

sudo apt-get install openjdk-7-*

После этого с помощью

sudo R CMD javareconf

и тогда я смог установить rJava в R через install.packages("rJava").

Хотя, возможно, это не самое элегантное решение, похоже, решило мои проблемы с работой rJava.

  • 2
    Спасибо. Это сработало. Я пытался установить Java вчера. Я также пробовал Oracle Java, но не работал. Не уверен, что я устанавливал JRE или перезагрузка сделала свое дело.
  • 9
    мне не повезло: первые два шага выполняются без ошибок, затем на install.packages я получаю: error: unable to load shared object '/home/cboettig/R/x86_64-pc-linux-gnu-library/3.0/rJava/libs/rJava.so': libjvm.so: cannot open shared object file: No such file or directory . Есть идеи?
Показать ещё 2 комментария
26

Для тех, кто получает ошибку:

error: unable to load shared object '/some/dir/rJava/libs/rJava.so': libjvm.so: 
cannot open shared object file: No such file or directory

Я решил ошибку, обнаружив библиотеку в системе и связав ее с /usr/lib:

$sudo updatedb
$locate libjvm.so
/usr/lib/debug/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so
/usr/lib/debug/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/zero/libjvm.so
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/jamvm/libjvm.so
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/zero/libjvm.so
$sudo ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib/ 
1

Установка rJava из дистрибутивных пакетов, предложенная в этом ответе askUbuntu, также работает:

sudo apt-get install r-cran-rjava

ПРИМЕЧАНИЕ. Попробовал систему Debian.

  • 0
    Работает ли для Ubuntu 18.04 (например, для установки пакетов R xlsx или ELT )

Ещё вопросы

Сообщество Overcoder
Наверх
Меню