オープンソースのグラフ可視化ツール Gephi は、その環境にインストールされた Java を使用する。
ただ、少なくとも現在の Mac OS X 版はバージョン 7 系の Java との相性があまりよくないようで、普通に Java SE や SDK のバージョン 7 をインストールしてから Gephi を起動しようとすると、下に示した "unable to load libjogl_awt.jnilib" が表示されて起動できないことがある。
また、このエラーが発生せず Gephi は起動するのだけれど、
- ファイルが開けず終了もできない(強制終了しかない)
- "データ工房" をクリックして表示するとフリーズする
というケースにも遭遇し、実質的には使えませんいう状態。
試行錯誤の結果、gephi.conf ファイル中で jdkhome 変数を定義するとうまくいった(方法1)上記のエラーは発生せず、GUI 操作など通常使用に今のところ何の問題もない。
- 方法 2 のような情報もいただいた。また、あまり積極的には採れないながら(バージョン 7 を他で使いたいケースが多い)方法 3 もなくはないので、末尾に念のため書き残しておきます
- 環境によってどの方法が有効かどうかは要検証ながら、試せた範囲で参考に記しました。いずれにしても、そのうち Gephi 側でバージョン7のJavaを使用しても冒頭のエラーが発生しないよう対処されるだろう(と期待)
方法 1:gephi.conf で jdkhome を指定
バージョン 7 の Java をインストールすると、たとえば java -version
では自然に
(prompt)$ java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
とバージョン 7 が参照される。この設定のままでよく、別途
/Applications/Gephi.app/Contents/Resources/gephi/etc/gephi.conf
の位置にある gephi.conf を使用して、Gephi 起動時に参照する JDK を自分で指定する。
Gephi のシックなアプリケーションアイコンを右クリック→ [パッケージ内容を表示] でたどるか、さっさと Finder やターミナル経由で gephi.conf をエディタで開き、
# default location of JDK/JRE, can be overridden by using --jdkhome <dir.> switch
# jdkhome=
jdkhome="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/"
のように jdkhome を定義する行のコメントアウトを外し、バージョン 6 系へのパスを指定する。あらかじめ
ls /System/Library/Frameworks/JavaVM.framework/Versions/
として、自分の環境に含まれている Java のバージョン数字を確認しておくと早い。
gephi.conf 保存後 Gephi を起動、[Gephi について] ウィンドウ左下に、参照しているバージョンが表示される:
ちなみに
当初は(これでバージョン7を参照してくれるのではと期待して)下記のパスを jdkhome に指定していた:
(prompt)$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
しかし自分の環境の場合は現象改善せずだった。Gephi 単体というより、OS 上の Java バージョン参照にはそもそもどの設定が効いているのだろう、という点はもやもや(Gephi 起動したのであまり追っていない)
方法 2:Java 7 残すままの対処法(2013/09/16追記)
@cielavenir さんよりtwitter経由で情報をいただきました。多発のためかすでに対処法がいろいろ議論されていました。多謝です
Resources/gephi/bin/gephi に以下を記述したところ Java 7 を残したまま直せました
--jdkhome `/usr/libexec/java_home -v 1.6\*`
(いただいた情報は以上)
方法 3:Java 7 アンインストール
雑多な情報ながらこのやりとりが参考になった
- Apple 社提供の Java for OS X(2013/09 時点で最新は 2013-004)をインストールし直す
- ※ 追記 この時点でバージョン 6 系 Java がインストールされるので、方法1のように jdkhome 指定さえすればバージョン 7 は削除不要かもしれない
- Apple のサポートサイトを "Java for OS X 2013" などで検索すると、その時点での最新版が見つかる
- Java 7 アンインストール
- MacでJava 7をアンインストールするにはどうすればよいですか
- 「Javaプラグイン・ファイルJavaAppletPlugin.pluginの削除のみです」
- JDK をインストールした場合、その少し下に書かれた以下に従って忘れずに削除
- 「JDK 7がインストールされているシステムでApple Java 6を復元する場合は、まずJDK 7をアンインストールする必要があります。JDK 7のアンインストール手順を参照してください」
(Java for OS X 2013-004の場合)ターミナルでの java -version
実行結果が
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
となっていればよい
ちなみに
- gephiへの入り口は日本語情報としてここがよくまとまっている
- クイックスタートを見ると、どう操作すれば何ができるかがだいたいわかります
- 実際どんな活用をされているかは、例えばYouTubeやslideshareを検索すると雰囲気がつかめる。グラフの動きを意識した例は、やはり前者に多く上がっている気がする