Clojure を試してみたいのですが、ここからの最初のステップに問題があります。Leiningen を使用して Clojure プロジェクトをセットアップすることを提案しています。
ダウンロードして実行するlein
と、次のように表示されます。
Error: dl failure on line 732
Error: failed /Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home/jre/lib/client/libjvm.dylib, because dlopen(/Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home/jre/lib/client/libjvm.dylib, 10): no suitable image found. Did find:
/Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home/jre/lib/client/libjvm.dylib: mach-o, but wrong architecture
調査の結果、この libjvm.dylib のコピーが x86 用にビルドされていることがわかりました。x86_64用に構築されたものが必要だと思います。新しいjvmをダウンロードしてインストールしました。ここでそれらを見ることができます:
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (7):
1.7.0_b126+, x86_64: "OpenJDK 7" /Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home
1.7.0_b126+, i386: "OpenJDK 7" /Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/Contents/Home
1.7.0_12, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/Contents/Home
1.6.0_43-b01-447, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_43-b01-447, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_26-b03-383, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home
1.6.0_26-b03-383, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home
使用したいlibjvm.dylibのコピーは/Library/Java/JavaVirtualMachines/jdk1.7.0_12.jdk/...
しかし、これを使用するようにライニンゲンに指示する方法がわかりません。実際にはライニンゲンではないと思いますが、そのファイルが何かをダウンロードするために使用しているものは何でも. JAVA_HOME/Library/Java/JavaVirtualMachines/OpenJDK-1.7.0-20110203.jdk/
を変更したり、このディレクトリの名前を/Library/Java/JavaVirtualMachines/jdk.old.foo
.