3

Debian 64 ビット マシンで R 3.0.1 に更新した後、rJava パッケージがインストールされません。

構成に失敗したため、sudo R CMD javareconf [これは別の debian マシンで機能しました]。ただし、ここでは機能しません。他の誰かがこの問題を抱えていますか? [以下の端末出力を参照]

henk@crunchbang:~$ sudo R CMD javareconf
Java interpreter : /usr/bin/java
Java version     : 1.6.0_18
Java home path   : /usr/lib/jvm/java-6-openjdk/jre
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar

trying to compile and link a JNI progam 
detected JNI cpp flags    : 
detected JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -ljvm
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.

# check java
henk@crunchbang:~$ java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

Java 環境:

henk@crunchbang:~$ aptitude search "?provides(java-runtime)"
i A default-jre                            - Standard Java or Java compatible Runtime        
i A default-jre-headless                   - Standard Java or Java compatible Runtime (headle
p   gcj-4.4-jre                            - Java runtime environment using GIJ/classpath    
p   gcj-4.4-jre-headless                   - Java runtime environment using GIJ/classpath (he
p   gcj-jre                                - Java runtime environment using GIJ/classpath    
p   gcj-jre-headless                       - Java runtime environment using GIJ/classpath (he
i A openjdk-6-jre                          - OpenJDK Java runtime, using Hotspot JIT         
i A openjdk-6-jre-headless                 - OpenJDK Java runtime, using Hotspot JIT (headles
i   sun-java6-jre                          - Sun Java(TM) Runtime Environment (JRE) 6 (archit
4

2 に答える 2

3

これらの手順を実行して (Ubuntu 14.04 および RStudio-Server を搭載した EC2 で)、次qdapを必要とするR パッケージをインストールしrJavaました。

これらのリポジトリをhttp://sites.psu.edu/theubunturblog/cran2deb4ubuntu/からインストールします

(debian: http://r-forge.r-project.org/projects/cran2deb/ )

sudo add-apt-repository ppa:marutter/rrutter
sudo add-apt-repository ppa:marutter/c2d4u 
sudo apt-get update

Java をインストールします。

sudo apt-get install openjdk-7-jdk
ls /usr/lib/jvm

Java のシステム全体の環境変数を設定します。

sudo joe /etc/profile.d/javaenvvar.sh

を含む:

# JAVA environment variable
# for openjdk-7-jdk in order to use the R package `qdap`.
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
export PATH=$PATH:$JAVA_HOME/bin

次に、BASH を終了し、再度サインインします。パスの変更を確認します。

echo $PATH
echo $JAVA_HOME

それで:

sudo R CMD javareconf

返す必要があります:

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

/etc/ld.so.conf.d/java.conf次のエントリを含むファイルを作成します。

/usr/lib/jvm//usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64
/usr/lib/jvm//usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server

次にrJava、これらの新しいリポジトリからインストールします。

sudo apt-get install r-cran-rjava

うまくいけば、RStudio-Server のすべてのユーザーがアクセスできるようにインストールされrJavaています。/usr/lib/R/site-library

sudo update-alternatives --config java

うまくいけば、インストールされている Java は 1 つだけです。

R パッケージを更新します。

sudo R
> packageStatus()
> update.packages()

システム全体に R パッケージをインストールします (まだ sudo R 内に):

> install.packages("qdap", lib="/usr/lib/R/site-library")

RStudio-Server のリセット:
最初に RStudio-Server からサインアウトします。

sudo rstudio-server stop
sudo rstudio-server start

RStudio-Server に再度サインインします。

メモリ エラーが発生した場合は、いくつかのパッケージを切り離してみてください。EC2 t2-micro には 1 GB の RAM しかありません。

于 2014-11-24T16:09:25.873 に答える