LoginSignup
9
8

More than 5 years have passed since last update.

rjavaのインストールメモ&rincanterの設定(OSX,Ubuntu)

Posted at

=======

OSX10.7 lion編

rincanterを使用しようとして苦労したので設定をメモ

まずRはhomebrewからインストールしたものを使う前提とします。

jdkのインストール

jdkが必要なのでインストールするのですが、デベロッパサイトからのダウンロードが必要です。デベロッパー登録が必要なので登録しましょうデベロッパー登録したら
デベロッパサイト
https://developer.apple.com/jp/resources/
へ行きMac OS X DownloadsからJava for OS X Developer Packageの最新版をダウンロードしてインストールします。
すでにjreをインストールしていた場合、jdkを使用する必要があるので
ユーティリティからJava Preferenceを起動し優先する順位を最初にします。

Rの設定

次にRにjvm関連の変更を再設定するためにターミナルを立ち上げ

$ R CMD javareconf 

と入力しますrootで実行せよとなっていますがhomebrewではユーザ権限でOKです。
Rを起動しrjavaパッケージをインストールします。

install.packages('rJava')

confiureが走りコンパイルが始まりますエラーが出ずインストールが終了すればOK
コンパイルが失敗する場合、
R_HOMEの設定をする
homebrewでは不要ですがPackage版では必要なようです

jdkがインストールされていないとjnilibがコンパイルできずjni.hが見つからないというエラーがでます。

rincanterのインストール

これでrincanterのインストール準備が完了します。
Clojureへのインストールはleiningenから行うことにすると
project.cljはこんな感じ
incanterとrincanterは最新版をclojars.orgで検索して最新版を指定します。

project.clj
(defproject rincantersamp "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [incanter "1.3.0"]
                 [org.clojars.guv/rincanter "1.1.0"]]
  :dev-dependencies [[swank-clojure "1.4.1"]])

ここからはad-hocなやり方ですが、
lein deps後rjavaのラブラリをlibsコピーします。
対象は

/usr/local/Cellar/r/{Rのバージョン}/R.framework/Resouces/library/rJava/jri
のJRI.jar,REngine.jar,JRIEngine.jar
をプロジェクトのlibsへコピーします。
このままだとlein swank時に実行ライブラリが見つからないと怒られるので
libjri.jnilibをproject.cljと同一のディレクトリへコピーします
そして

$ lein swank

で実行

Ubuntu編

手順は、ほぼOSX編と同じですライブラリ関連とパッケージマネージャーからJDKをインストールすることぐらいが違いとなります。

RとJDKのインストール

パッケージマネージャからRとJDKをインストールする。

共有ライブラリの設定(環境変数)

libjvm.soが無いと怒られるので、ありかの指定をする
.profile または.bashrc等に環境変数の設定をする

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jvm/default-java/jre/lib/i386/jamvm

を追加

Rの設定

OSX編と同様に
Rにjvm関連の変更を再設定するためにターミナルを立ち上げ

$ R CMD javareconf 

と入力します
Rを起動しrjavaパッケージをインストールします。

install.packages('rJava')

confiureが走りコンパイルが始まりますエラーが出ずインストールが終了すればOK

rincanterのインストール

lein new {project}
でプロジェクトを作成後OSX編と同様に
project.cljを作り

project.clj
(defproject rincantersamp "1.0.0-SNAPSHOT"
  :description "FIXME: write description"
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [incanter "1.3.0"]
                 [org.clojars.guv/rincanter "1.1.0"]]
  :dev-dependencies [[swank-clojure "1.4.1"]])

ターミナルから

lein deps

を実行します

rJava関連のjarをコピー

lein deps後rjavaのラブラリをlibsコピーします。

rJava関連のjarファイルは

~/R/i686-pc-linux-gnu-library/2.13/rJava/jri

以下にあるので、このディレクトリのJRI.jar, JRIEngine.jar, REngine.jar
をleinで作成したプロジェクトのlibへコピー。

lein swankのための設定

このままではlibjri.soを見つけられないと怒られるので、
leinで作成したプロジェクトのディレクトリへ

~/R/i686-pc-linux-gnu-library/2.13/rJava/jri

から libjri.soをコピーします

そして

$ lein swank

で実行

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8