2013-07-10 3 views
8

Я хочу установить rJava, но он не работает. Когда я печатаю R CMD javareconf в консоли я получаю следующее сообщение об ошибке:не удалось скомпилировать программу JNI rJava

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 -O3 -pipe -g 
-c conftest.c -o conftest.o 
conftest.c:1:17: error: jni.h: No such file or directory 
conftest.c: In function 'main': 
conftest.c:4: warning: implicit declaration of function 'JNI_CreateJavaVM' 
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/lib64/R 
Done. 

Любые идеи, как это исправить?

+0

conftest.c: 1: 17: error: jni.h: Нет такого файла или каталога ... см. Это –

ответ

4

Файл jni.h является частью установки JDK. Вероятно, у вас Java JDK не установлен правильно. Загрузите Oracle Java с here или используйте диспетчер пакетов.

Если у вас уже установлен Java JDK, установите переменную среды JAVA_HOME, чтобы указать каталог JDK.

+0

Я работаю над сервером через ssh с debian 6. На самом деле JDK ist установлен правильно. Я сделал sudo apt-get install openjdk-6-jdk. Unfortunetaly sudo apt-get install ioenjdk-7-jdk не работает на debian 6 – user2523848

+2

Не имеет ли Debian пакет rJava, который вы могли бы использовать? Попробуйте 'apt-get install r-cran-rjava'. –

+0

Да, у него есть, но, к сожалению, это старая версия, которая не работает с RHive: пакет 'rJava' 0.8-4 был найден, но> = 0.9.0 требуется для 'RHive' – user2523848

1

Я знаю, что это закрыто, но я добавляю свое решение для полноты. По сути, у меня была такая же проблема, и все было правильно установлено. Я также провел

sudo R CMD javareconf 

для системы широкий установка. Мне было нужно, чтобы он работал для моего пользователя. И в этом случае вы должны запустить

R CMD javareconf -e 

без sudo и с прилагаемым -e.

Работал для меня. :)