読者です 読者をやめる 読者になる 読者になる

MacでeclipseをSoyLatteで動かす その3

ねこびーんイデの説明で、MacのJavaVMのパスにシンボリックリンク張ればいい的な事が書いてあったので、試してみました。
はじめに、/System/Library/Frameworks/JavaVM.framework/Versions/SoyLatte/Homeにフォルダを作り、中にSoyLatteを流し込みます。
Homeに置くのは、最終的にHome/bin/javaが利用されるからです。
このページがめちゃわかりやすいです


つぎに、/System/Library/Frameworks/JavaVM.framework/Versions/CurrentVersionに、SoyLatteのシンボリックリンクを張ります。
Versionsフォルダの中はこんな感じ

lrwxr-xr-x  1 root  wheel    5 11 30 19:11 1.3 -> 1.3.1
drwxr-xr-x  3 root  wheel  102  7 18 17:51 1.3.1
lrwxr-xr-x  1 root  wheel    5 11 30 19:11 1.4 -> 1.4.2
lrwxr-xr-x  1 root  wheel    3  9 20 14:44 1.4.1 -> 1.4
drwxr-xr-x  8 root  wheel  272  9 20 14:45 1.4.2
lrwxr-xr-x  1 root  wheel    5 11 30 19:11 1.5 -> 1.5.0
drwxr-xr-x  8 root  wheel  272 12 16 01:21 1.5.0
lrwxr-xr-x  1 root  wheel    5 11 30 19:11 1.6 -> 1.6.0
drwxr-xr-x  8 root  wheel  272 11 30 19:11 1.6.0
drwxr-xr-x  8 root  wheel  272 11 30 19:11 A
lrwxr-xr-x  1 root  wheel    1 11 30 19:11 Current -> A
lrwxr-xr-x  1 root  wheel    8 12 16 00:47 CurrentJDK -> SoyLatte
drwxr-xr-x  4 root  wheel  136 12 16 08:06 SoyLatte

これで、SoyLatte以下のjavaが利用されるはずです。
という事でおもむろに起動すると、がっつりエラーになりました。
コマンドラインで実行すると、

_NSJVMLoadLibrary: NSAddLibrary failed for /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Libraries/libjvm.dylib
JavaVM FATAL: Failed to load the jvm library.

というエラーです。
なんとなく、Librariesフォルダからlibjvm.dylibというのを読もうとして失敗しているようです。
libjvm.dylibがSoyLatteに入ってないかどうか確認した所、

./Home/jre/lib/i386/client/libjvm.dylib
./Home/jre/lib/i386/server/libjvm.dylib

に入っていました。clientとserverと書いてあるので、どうやらJVM本体のようです。


とりあえずLibrariesフォルダもないし、中のファイルもないので、ひとまずLibrariesフォルダを作成し、つぎに./Home/jre/lib/i386/client/libjvm.dylibへのシンポリックリンクを作成してみました。
結果、

JavaVM FATAL: lookup of function JNI_GetDefaultJavaVMInitArgs_Impl failed.

で終了しました。
うーん、libjvm.dylibだけじゃだめなんですね。。。
ひとまず時間切れなので、続きはまた後日やります。