2017-05-25 53 views
0

私は休止状態のAmazon EC2マイクロインスタンスをUbuntu 16.04.LTSおよびRStudio(下記sessionInfo()出力)を使って再起動しました(AMIのおかげでLouis Aslett)。最初にAWSインスタンスにssh-ingした後、sudo apt-get updateを実行しました。Java、rJavaをR(xlsxおよび他のパッケージ)用のAWS EC2にインストール

R Studioにいくつかのパッケージ(xlsxなど)をインストールしようとしたとき(一般的な問題と思われるJavaがないためにエラーが発生しました)。私は、1)依存関係をインストールする(例えば、rJavaxlsxjarsのようなxlsxseparately; 2)apt-get install r-cran-rjavaを提案した。here。そして、チェックインストールjava -version

OpenJDKのバージョン "1.8.0_131"
OpenJDKのランタイム環境(1.8.0_131-8u131-b11-0ubuntu1.16.04.2-B11を構築)
OpenJDKの64ビットサーバーVM示しました。 (25.131-B11、混合モードを構築する)

同様の問題は、「rJava load error in RStudio/R after “upgrading” to OSX Yosemite」を提案し、ここでは「error: unable to load installed packages...」を、解決策は、R export LD_LIBRARY_PATH=$JAVA_LD_LIBRARY_PATHまたはRのENVを設定するためにJavaのパスをリンクしているように見えたどこされました。変数Sys.setenv(JAVA_HOME='/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server')

しかし、R CMD javareconf -e明らかにした(私は仮定)、いくつかのより深い問題(see Image)& /またはを実行すると、スニペット:存在しないと

:Javaコンパイラと

R CMD javareconf -e 
 
Java interpreter : /usr/lib/jvm/default-java/jre/bin/java 
 
Java version  : 1.8.0_131 
 
Java home path : /usr/lib/jvm/default-java 
 
Java compiler : not present 
 
Java headers gen.: 
 
Java archive tool: 
 

 
trying to compile and link a JNI program 
 
detected JNI cpp flags : 
 
detected JNI linker flags : -L$(JAVA_HOME)/jre/lib/amd64/server -ljvm 
 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG  -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c conftest.c -o conftest.o 
 
conftest.c:1:17: fatal error: jni.h: No such file or directory 
 
compilation terminated. 
 
/usr/lib/R/etc/Makeconf:132: recipe for target 'conftest.o' failed 
 
make: *** [conftest.o] Error 1 
 
Unable to compile a JNI program 
 

 
The following Java variables have been exported: 
 
JAVA_HOME JAVA JAVAC JAVAH JAR JAVA_LIBS JAVA_CPPFLAGS JAVA_LD_LIBRARY_PATH 
 
Running: /bin/bash

conftest.c:1:17:致命的なエラー: jni.h:そのようなファイルやディレクトリはありません コンパイルが終了しました。/usr/libに/ Rの/ etc/MAKECONF:132:ここでの最善の解決策は、同じディレクトリをチェックgcc -I/usr/lib/jvm/jdk1.7.0_07/include を示唆した:ターゲットのためのレシピ 'conftest.oは、' その後、私は疑問 "how to make jni.h be found?" を見つけた

を失敗しましたcd /usr/lib/jvm/とその内容ls --allをリストに示した:

.DEFAULT-javaの

の.java-1.8.0-OpenJDKの-amd64.jinfo ..java-1.8.0-OpenJDKの-amd64の javaの-8- openjdk-amd64

また、私が試してみました sudo apt-get install openjdk-X-jdk gcc: fatal error: no input filesは(それが推奨的回答「 how to make jni.h be found?」の中だった)おそらくパッケージはもう、 『パッケージOpenJDKの-X-JDKを見つけることができません』が存在しません:

実行、gcc -I/usr/lib/jvm/java-1.8.0-openjdk-amd64/includeをもたらしました。

残念ながら、私は固執しており、他の(一見複雑な解決策)を実装するのに十分なほど熟練していません。私は本当にいくつかのヘルプ/入力を感謝します。

R version 3.3.1 (2016-06-21) 
 
Platform: x86_64-pc-linux-gnu (64-bit) 
 
Running under: Ubuntu 16.04.1 LTS 
 

 
locale: 
 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C    
 
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8  
 
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C     
 
[9] LC_ADDRESS=C    LC_TELEPHONE=C    
 
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C  
 

 
attached base packages: 
 
[1] parallel compiler stats  graphics grDevices utils  datasets 
 
[8] methods base  
 

 
other attached packages: 
 
[1] openxlsx_4.0.17  qdapTools_1.3.1  qdapRegex_0.7.2  
 
[4] qdapDictionaries_1.0.6 stringr_1.1.0   stringi_1.1.2   
 
[7] dplyr_0.5.0   tm_0.7-1    NLP_0.1-10    
 
[10] scales_0.4.0   RColorBrewer_1.1-2  ParallelForest_1.1.0 
 
[13] doMC_1.3.4    iterators_1.0.8  foreach_1.4.3   
 
[16] boot_1.3-18   reshape2_1.4.1   glmm_1.1.1    
 
[19] Matrix_1.2-6   mvtnorm_1.0-5   trust_0.1-7   
 
[22] ggplot2_2.1.0   shiny_0.13.2   
 

 
loaded via a namespace (and not attached): 
 
[1] gtools_3.5.0  slam_0.1-40  lattice_0.20-33 
 
[4] colorspace_1.2-7 htmltools_0.3.5 chron_2.3-50  
 
[7] XML_3.98-1.7  DBI_0.5-1   plyr_1.8.4  
 
[10] munsell_0.4.3  gtable_0.2.0  codetools_0.2-14 
 
[13] httpuv_1.3.3  gender_0.5.1  Rcpp_0.12.7  
 
[16] xtable_1.8-2  gdata_2.17.0  mime_0.5   
 
[19] gridExtra_2.2.1 digest_0.6.10  grid_3.3.1  
 
[22] tools_3.3.1  bitops_1.0-6  magrittr_1.5  
 
[25] RCurl_1.95-4.8 tibble_1.2  data.table_1.10.4 
 
[28] assertthat_0.1 R6_2.2.0   igraph_1.0.1 

+0

私は通常別のツールを使うと言っていませんが、代わりに 'readxl'パッケージを使うことを検討できますか? Javaに依存しないため、これらの頭痛を避けることができます。 – cdeterman

+0

答えと良いアイデアをありがとう。実際には、私は光沢のあるアプリを実行したいと私の(本物の)問題はxlsxではなくqdapです。 – mmatt

答えて

0

JDKをインストールする必要があります。こちらも見てみましょう。私はR、JavaとrJavaパッケージで再生する方法を説明し

http://www.owsiak.org/?p=3671

。説明はmacOSベースですが、Linuxでも動作するはずです。それはかなり一般的なアプローチです。

問題は、JDKの代わりにJREを使用しているという事実に関連しています。そこにJNIヘッダーがありません。

+0

洞察力のあるウェブサイトをありがとう。 – mmatt

0

私の友人は、sudo apt-get install openjdk-8-jdkを使用してEC2インスタンス上でJavaをインストール提案し、興味深いことに、それは問題を解決しました。

関連する問題