RHEL5でOpenJDK6をビルドしてみる

OpenJDK6をビルドしてみた。情報が少ないので、結構、面倒な感じ。とりあえず、必要そうなものを入れておく。

# yum install java-1.6.0-openjdk
# yum install gcc gcc-c++
# yum install alsa*
# yum install cups-devel
# yum install openmotif openmotif-devel
# yum install libX11-devel libXt-devel libXext-devel libXp-devel libXtst-devel libXi-devel
# yum install python-setuptools

ソースコードをチェックアウトするのにMercurialが必要なのでインストールする。

# easy_install -U mercurial

そんでもって、さらにForest拡張なるものがないと、一通りのソースコードを持ってこれないので、これを設定する必要がある。ここからは普通のユーザーで良い。

$ hg clone http://hg.akoha.org/hgforest
$ mkdir ~/py
$ cp hgforest/forest.py ~/py/

Mercurialマスターではないので、正しい持ってき方がわからんが、forest.pyを取得して、適当なところに置いておく。そんで、.hgrc を編集。

$ vi ~/.hgrc
[extensions]
forest=/home/taro/py/forest.py

ここまできたら、ようやくソースの取得が行える。適当なディレクトリで作業する。

$ cd
$ mkdir openjdk
$ cd openjdk
$ hg fclone http://hg.openjdk.java.net/jdk6/jdk6

これで、jdk6 に一式持ってこれる。ここからさらに環境整備。Plugs なるものが必要なので、これをダウンロードしてインストールする。

$ wget http://download.java.net/openjdk/jdk6/promoted/b17/jdk-6-ea-plug-b16-linux-i586-25_nov_2008.jar
$ java -jar jdk-6-ea-plug-b16-linux-i586-25_nov_2008.jar

今回は、/home/taro/openjdk/openjdk-binary-plugsに置く。そんで、環境変数を設定する。あらかじめ、JDK1.6.0_16を/usr/java/jdk1.6.0_16にインストールしておいた。

$ unset JAVA_HOME
$ export LANG=C ALT_BOOTDIR=/usr/java/jdk1.6.0_16
$ export ALT_BINARY_PLUGS_PATH=/home/taro/openjdk/openjdk-binary-plugs
$ export ALT_MOTIF_DIR=/usr

Antも必要なのでインストール。

$ wget http://ftp.riken.jp/net/apache/ant/binaries/apache-ant-1.7.1-bin.tar.gz
$ tar zxvf apache-ant-1.7.1-bin.tar.gz
$ export ANT_HOME=/home/taro/openjdk/apache-ant-1.7.1
$ export PATH=$ANT_HOME/bin:$PATH

Freetype 2.2 も必要なので入れる。RHEL5だと、2.1みたい。/home/taro/openjdk/usrにインストール。

$ mkdir usr
$ wget http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.3.11.tar.gz
$ tar zxvf freetype-2.3.11.tar.gz
$ cd freetype-2.3.11
$ ./configure --prefix=/home/taro/openjdk/usr
$ make
$ make install
$ cd ..
$ export ALT_FREETYPE_LIB_PATH=/home/taro/openjdk/usr/lib
$ export ALT_FREETYPE_HEADERS_PATH=/home/taro/openjdk/usr/include

これでようやく、openjdkのビルドにたどりつく。

$ cd jdk6
$ make sanity
$ make

これで出来上がり。以下で動作確認。

$ export JAVA_HOME=/home/r2fw/shinsuke/Projects/openjdk/jdk6/build/linux-amd64/j2sdk-image/
$ ./build/linux-amd64/j2sdk-image/bin/java -version
openjdk version "1.6.0-internal"
OpenJDK Runtime Environment (build 1.6.0-internal-taro_25_nov_2009_11_22-b00)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

うーん、環境作るの面倒だよ。結構、模索した。これじゃ、なかなか開発者も増えんのではなかろうか…。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です