Ubuntu 14.04で開発環境を整える際のメモ

Minecraft 1.4.7 with Minecraft Forge #534の環境をUbuntu14.04で整えた際、いくつかエラーにあたったのでその対処法。

astyleについて

mcp付属のastyle.exeは少し古いバージョン(2.02.x)で、Ubuntu 14.04のapt-getで入るastyle 2.03と相違がある。このため、python install.pyを実行する前に fml/conf/astyle.cfgmax-instatement-indent=2 の箇所を削除、または max-instatement-indent=199等とする。これは、astyle 2.03から40から120の間の整数でなければならなくなったための処置である。しかし、このためにいくつかForgeのパッチを当てることができず、エラーが生じる箇所がある。RenderPlayer.javaの401行目、var21をvar22に書き換えれば(とりあえずは)動作する。エラーでpatchが失敗している場合は必ず該当ファイルと同階層に失敗したファイルの作業ファイルが残るため、問題があればこれを探して手でマージすれば良い。

JDK 1.8使用時のasmについて

Forgeの手に入れてくるライブラリの中に、Objectweb ASMと呼ばれるライブラリが存在する。しかし、このライブラリはForgeの手に入れてくるバージョンではJDK 1.8に対応しておらず、ライブラリを差し替える必要がある。これはライブラリ自体を最新のもの(私はasm-all-5.1.jarを利用した)に置き換えるだけなので大した作業にはならない。

LWJGLについて

デフォルトのLWJGLは古く、環境によっては動作しないことがあるため、これも入れ替える。asmと同様に最新版をダウンロードし、該当ファイルを差し替えるだけで動作する。私は2.9.3を利用した。 Linux上なので、natives以下にはlinux版のsoを入れないといけない。また、x86_64環境の場合はlib***64.soとなっているsoファイルをlib***.soへリネームしてやらないと、ビット数の違いでエラーを起こす。

その後、プロジェクト全体をリビルド、Client(必要ならServerも)の起動までを確認して構築終了となる。私はこの後全体に対してFormatをかけ、recompile→updatemd5を実行したが、これは任意で良いかと思う。