ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

rJavaで、「Cannot find JRI native library!」と出るのはパス指定の誤り(たぶん)

2014-11-02 10:16:23 | AI・BigData
Javaで、Rを使うrJavaの例として、

[R][統計解析][データマイニング] Java R Interface (JRI) を用い 統計解析環境 R を Java から使用する
http://d.hatena.ne.jp/hamadakoichi/20100111/1263227076

にある36の平方根(答え6)を求めるのが、多い気がする。

そして、その例を実行しようとして

(1)JRI.jarをリンクする
(2)「実行」をするとき、「実行の構成」の「環境」タブに
  Path,R_DOC_DIR,R_INCLUDE_DIR,R_SHARE_DIRを設定する
  (実は、36の平方根を求めるには、Pathだけ設定すればよい)
※詳しい方法は上記サイトを参照。最後のjri.dll コピーはしなくてもよい
 しても、以下のエラーが発生する。

を実行すると、



Cannot find JRI native library!
Please make sure that the JRI native library is in a directory listed in java.library.path.

java.lang.UnsatisfiedLinkError: no jri in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)

(以下省略)


や、省略前の部分


java.lang.UnsatisfiedLinkError: C:\Program Files\R\R-3.0.3\library\rJava\jri\jri.dll: Can't find dependent libraries


というエラーが発生する。


このエラーがでるのは、


RをJavaで動かす with Windows7 64bit(1)
http://kumagonjp2.blog.fc2.com/blog-entry-151.html

にあるように、Pathの指定の間違い。

VMのオプションで-Djava.library.path=なんとかかんとか
という指定をしてもなおらない。




具体的にはPathで以下の2つを指定する

C:\Program Files\R\R-3.0.3\bin\i386;C:\Program Files\R\R-3.0.3\library\rJava\jri

後者は、jri.dllのある場所。これが見えないと、はじめのエラーが出る
前者は、jri.dllが依存するものがある場所。これが見えないと、あとのエラーがでる。

前者、i386の指定がついているけど、64ビットのときは、当然変わると思う

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする