LoginSignup
1
2

More than 5 years have passed since last update.

Gephi起動時 "unable to load libjogl_awt.jnilib" 対策

Last updated at Posted at 2013-09-14

オープンソースのグラフ可視化ツール Gephi は、その環境にインストールされた Java を使用する。

ただ、少なくとも現在の Mac OS X 版はバージョン 7 系の Java との相性があまりよくないようで、普通に Java SE や SDK のバージョン 7 をインストールしてから Gephi を起動しようとすると、下に示した "unable to load libjogl_awt.jnilib" が表示されて起動できないことがある。

img.png

また、このエラーが発生せず 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 をエディタで開き、

gephi.conf行10-12付近
# 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 について] ウィンドウ左下に、参照しているバージョンが表示される:

img.png

ちなみに

当初は(これでバージョン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への入り口は日本語情報としてここがよくまとまっている
    • クイックスタートを見ると、どう操作すれば何ができるかがだいたいわかります
  • 実際どんな活用をされているかは、例えばYouTubeslideshareを検索すると雰囲気がつかめる。グラフの動きを意識した例は、やはり前者に多く上がっている気がする
1
2
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
1
2