Processingをビルドする

2014-05-21

MacでProcessingをビルドしてみた。Githubのリポジトリは https://github.com/processing/processing にあって、ビルドの手順はBuild Instructions · processing/processing Wikiのとおり。なんだけど、いろいろ躓いた。

OracleのサイトからJDK7のjdk-7u55-macosx-x64.dmgをダウンロードしようとしたが、何度やっても途中で失敗する。他に手段がないかとググってると、モロのサイトがあった https://jdk7.java.net/download.html でインストールは成功。

でProcessingのリポジトリの build に入り、ant run とすると、まだJavaのバージョンが1.6だと出てしまう。/usr/bin/javaなどがシンボリックリンクで、古いものを指している(/System/Library/Java/JavaVirtualMachines/ 以下を指している)。

java.netからダウンロードしてインストールしたパッケージのバイナリは /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/bin/ 以下にインストールされるので、javaやjavacなどの実行ファイルに対してそれぞれシンボリックリンクを貼り直す。

で再び ant run をするが、

/build/build.xml:160: JDK 7u55 required.
To build on OS X, you must install Oracle's JDK 7u55 from
http://www.oracle.com/technetwork/java/javase/downloads
Note that only 7u55 (not a later or earlier version) will work.
And it must be the JDK, not the JRE. And do not try to defy me again.

というエラーが出る。java.netからダウンロードしたものはu60だったので弾かれてしまっている。まあエラーメッセージには従わずに、build/build.xml内の

<property name="jdk.update.macosx" value="55" />

を60に書き換えてやれば、ビルドが通るようになる。

成果物は build/macosx/work/Processing.app に出力される。

追記

最近のbuild.xmlでは環境変数 JAVA_HOME を参照するようになったようなので、それも適切に指定してやる必要がある。

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/