Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

=======

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

で実行

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした