memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Processing1.5.1をOSX 10.8.2で動かす方法

ここ数日、NyARToolkit (+Processing2.0 beta 8)を利用してオブジェクトをPickingできないかあれこれ試していました。が、なかなかうまくいかず。。。

とりあえずNyARToolkitの説明によるとProcessing1.5.1ではProcessing-Pickingライブラリが動作すると書かれていました。

とりあえず動かすことを優先して1.5.1を試そうとしたところ、JREが32bitでは動作しないとか。。。おいおい。。。とにかくあれこれ調べて1つの解決方法がわかりました。

対処前のJavaのバージョンは以下の通りでした。

java version "1.7.0_06"

Java(TM) SE Runtime Environment (build 1.7.0_06-b24)

Java HotSpot(TM) 64-Bit Server VM (build 23.2-b09, mixed mode)

 

この状態でターミナルでjava -d32とすると以下のエラーが表示されます。Processing1.5.1を実行したときにもこのエラーが表示されます。

Error: This Java instance does not support a 32-bit JVM.

Please install the desired version.

32bitに対応したVMに置き換える必要があります。とりあえず1.6にしてみます。JRE1.6をダウンロードする必要があるかな?と思いましたが、ls /System/Library/Frameworks/JavaVM.framework/Versions をしてみると入っていそうです。切り替えは以下のコマンドでいけるようです。もし1.5.1を常用するのであれば.zprofileなどに入れておくのがいいのかもしれません。

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

このコマンドを実行後、java -versionを確認したり、java -d32で32ビットモードで動作することを確認したあと、Processing1.5.1を実行してみると。。。残念ながらエラーが表示されます。

 

そこで、ターミナルより/Applications/Processing.app/Contents/MacOS/JavaApplicationStubを実行します。Processing1.5.1のIDEが起動します。この状態でサンプルなど実行すると、実行できちゃいます。

あまり気持ちのいい方法ではありませんが、やむなくというところです。