2017-09-25 16 views
2

rJavaのインストールとロードに問題があります。私はR 3.4.1( 'シングルキャンドル')を持っています。 Java v 9およびMac OS 10.12.6。rJava、Mac 10.12.6、Java v 9(Rバージョン3.4.1)の問題

輸出JAVA_HOME = $(は/ usr/libexecに/ JAVA_HOME -v 9)

輸出:

は、私は私の〜/ .profileに含まれるように編集するために、ターミナルを使用して含ま here記載されているすべての指示に従いPATH = $ JAVA_HOME/bin:$ PATH

そして、Rを「正しい」Javaに接続するために他の変更を加えます。

警告: 'のJNI_CreateJavaVM' が [-Wdeprecated-宣言]を推奨されていません のJNI_CreateJavaVM(0、0を、私は

sudoのR CMDは、しかし、私が言うエラーメッセージが表示されます

をjavareconf実行すると、 0)。 ^ /System/Library/Frameworks/JavaVM.framework/Headers/jni.h:1937:1:注意: 'のJNI_CreateJavaVMは、' 明示的 のJNI_CreateJavaVM(JavaVMの** PVM、無効** PENVボイドここで非推奨とマークされています* args); ^ 警告が生成されました。

そして私は、実行時に

R CMD INSTALL rJava_0.9-8.tar.gz

私が言うエラーが出るまで、すべてがスムーズに行く:

はJNIプログラムをコンパイルすることができるかどうかをチェックします... configure:error:単純なJNIプログラムをコンパイルできません。詳細については、config.logを参照してください。

Java開発キットがインストールされ、Rに正しく登録されていることを確認してください。 疑わしい場合は、rootとして「R CMD javareconf」を再実行してください。

ERROR:構成は親切にその 'は/ usr/libexecに/ JAVA_HOME -v 9' JDKに "ポイント" ではなくJREを確認するために提案上記のリンク先サイトから「rJava」

ミハル・パッケージに失敗しました。私はこれを行う方法がわかりません。私が何かしようとすると、また:

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home

私が知っている場合はどうすればよい:

を私が得る$ JAVA_HOME

をエコーこのJDKまたはJRE?

私のエラーメッセージのため、私はJNIの問題があると思いますが、その問題に対処するためにどのように起動するのかはわかりません。 Michalのチュートリアルを使って何が間違っていたのかについての洞察は大いに評価されるでしょう!

P.S.

エラー: 'rJava'のパッケージまたは名前空間の読み込みに失敗しました: 'rJava'のloadNamespace()に失敗しました。詳細は次のとおりです。 コール:dyn。load(file、DLLpath = DLLpath、...) エラー:共有オブジェクト '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so'をロードできません: dlopen /ライブラリ/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so、6):ライブラリがロードされていません:@ rpath/libjvm.dylib 参照先:/Library/Frameworks/R.framework /Versions/3.4/Resources/library/rJava/libs/rJava.so 理由:画像が見つかりません

答えて

0

Java 9がJDKであるかどうかをテストするには、次の手順を実行します。次の操作を行います

> git clone https://github.com/mkowsiak/jnicookbook.git 
> cd jnicookbook/recipeNo001 
> export JAVA_HOME=$(/usr/libexec/java_home -v 9) 
> export PATH=$JAVA_HOME/bin:$PATH 
> make 
> make test 

あなたが最後に

Hello world! 

が表示された場合、それはあなたのJDKは、JNIコードをコンパイルできることを意味します。さて、もし動作すれば、rJavaは依然として誤ったJavaインストールを使用していることを意味します(例えばAppleからのもの)。その場合、rJavaのエラー・ログを調べて、そこに使用されているものを確認する必要があります。

私はこれが少なくとも少しお役に立てば幸いです。

+0

ありがとうございます。本当にありがとうございます。 /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/java -Djava.library.path =:./ lib -cp target recipeNo001.HelloWorld エラー:エラーが発生しました。メインクラスのrecipeNo001.HelloWorldを見つけることができませんでした。 原因:java.lang.ClassNotFoundException:recipeNo001.HelloWorld make:*** [テスト]エラー1 - これが何を意味するのか? O0 – Kate

+0

"make test"を実行する前に "make"を呼び出すことを忘れないでください。この手順を指示に入れませんでした:( – mko

+0

@mko sugestionを使ってJDKコードをコンパイルできることを確認しました。質問は今、rJavaが正しいJavaインストールを使用するようにする方法ですか? –

関連する問題