理系学生日記

おまえはいつまで学生気分なのか

port で tomcat6 をビルドしようと思ったら BUILD FAILED になる件

これが fail する。

|tcsh| $ sudo port install tomcat6 ||< 原因調査のために port を debug モード(sudo port -d install tomcat6)にすると、原因がヒープ領域不足であることが判明する。

tomcat のビルドは ant で行われており、その build.xml の絶対パスも debug モードにおける出力に表れている。ant ではコンパイルに用いる JVM のヒープ領域を、java タスクのプロパティとして定義できるようになっている*1ので、この機能を用いてヒープ領域を増やす指定を build.xml に追加すればこの問題は解決する。 具体的には、以下の 3 つの属性を build.xml の java タスクに追加する。

|| fork="true" memoryInitialSize="512m" memoryMaximumSize="512m" ||< これで無事に tomcat6 がビルドできるようになる。