2012-06-24 2 views
4

Я испытываю ту же проблему rJava, что многие другие люди, похоже, были в какой-то момент. Ошибка возникает, когда R CMD INSTALL проверяет, могут ли быть скомпилированы программы JNI.rJava не удается установить (MacOS, Red Hat)

Выход рекомендует запустить R CMD javareconf -ed или sudo R CMD javareconf Выход последнего является:

computer: home$ sudo R CMD javareconf 
Java interpreter : /usr/bin/java 
Java version  : 1.6.0_31 
Java home path : /System/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 
Java library path: 
JNI linker flags : -framework JavaVM 
JNI cpp flags : -I$(JAVA_HOME)/include 

Updating Java configuration in /Library/Frameworks/R.framework/Resources 
Done. 

И при попытке установить rJava впоследствии,

computer: home$ R CMD INSTALL ~/Downloads/rJava_0.9-4.tar.gz 
* installing to library ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’ 
* installing *source* package ‘rJava’ ... 
checking for gcc... gcc -arch x86_64 -std=gnu99 
checking for C compiler default output file name... a.out 
/* Passes all checks */ 
configure: checking whether gcc -arch x86_64 -std=gnu99 supports static inline...yes 
checking whether setjmp.h is POSIX.1 compatible... yes 
checking whether sigsetjmp is declared... yes 
checking whether siglongjmp is declared... yes 
checking Java support in R... present: 
interpreter : '/usr/bin/java' 
archiver : '/usr/bin/jar' 
compiler : '/usr/bin/javac' 
header prep.: '/usr/bin/javah' 
cpp flags : '-I/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/include' 
java libs : '-framework JavaVM' 
checking whether JNI programs can be compiled... configure: error: Cannot compile a simple JNI program. See config.log for details. 

Make sure you have Java Development Kit installed and correctly registered in R. 
If in doubt, re-run "R CMD javareconf" as root. 

ERROR: configuration failed for package ‘rJava’ 
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/rJava’ 
* restoring previous ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/rJava’ 

Альтернативой попытка где /usr/bin/javac заменяется /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home терпит неудачу все равно.

Я бегу Mac OS 10.7.3 и

computer: home$ java -version 
java version "1.6.0_31" 
Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3646) 
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode) 

Ниже в моем .bash_profile

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 

Кроме того, у меня такая же проблема на Red-Hat. Я надеюсь, что любое исправление будет работать там тоже, но если это не так, и почему это не будет известно, объясните, пожалуйста.

Я использую невероятную базу знаний этого сайта уже пару лет, но это мой первый пост. Mucho благодарит заранее.

Некоторые (не все) ресурсы, которые я уже просмотрел являются

Пожалуйста, обратите внимание, что apt-get решение в последней ссылке есть бесполезно для меня (я думаю), если нет решения equiv для port и/или yum.

+0

AFAIK OS X 10.7 не поставляется с JDK больше. Возможно, вам нужно [скачать] (http://connect.apple.com) и установить его вручную. – fotNelton

+0

Это сделало. В частности, я перешел к ссылке, которую вы предоставили, установил JDK, установил '' JAVA_HOME =/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home'', ввел '' R CMD javareconf -ed '', а затем установили rJava из командной строки. Большое спасибо. – artdv

+0

Получил его работу в Red Hat. '' экспортировать JAVA_HOME =/etc/alternatives/java_sdk_openjdk'' в '' .bash_profile'' и, кроме того, '' sudo yum install R-devel.x86_64 '', за которым следует '' sudo R CMD javareconf'' и '' R CMD INSTALL'' – artdv

ответ

4

Я использую RedHat Linux 7.1

я получаю такую ​​же проблему, как и выше, и я выполнил следующие шаги

1) Редактировать/USR/lib64/R/etc/Renviron и добавьте «CPPFLAGS = $ {CPPFLAGS -'-ldl '}» в конец файла

2) Затем найдите дом java и установите его, как показано ниже (установите java home до/jre)

$export JAVA_HOME=/usr/lib/jvm/java-1.7.1-ibm-1.7.1.3.10-1jpp.1.el7_1.x86_64/jre 
$export PATH=$PATH:$JAVA_HOME/bin 
$R CMD javareconf 

3) вызывать R из командной строки

$R 
> install.packages("rJava") 
> install.packages("RJDBC",dep=TRUE) 
> q() 
Save workspace image? [y/n/c]: y 
+0

Работал для меня отлично. благодаря –

1

У меня была недавняя вариация этой проблемы с RHEL 6.5. Я просмотрел эту тему и многие другие. Птоблем заключался в том, что модули динамической нагрузки не были обнаружены при тестировании усложнения программ JNI. Мое исправление было вставить "CPPFLAGS=${CPPFLAGS-'-ldl'}" в файл

/usr/lib64/R/etc/Renviron 
Смежные вопросы