sugarlife's blog

Javaとか、http://twitter.com/sugarlife

OpenJDK 8 をFedora18でビルドする

OpenJDK と戯れるため、OpenJDK ビルド用サンドボックスとして、まっさらな Fedora 18 (x86_64) 環境を用意してビルドしてみました。
以下、再構築時のための覚え書き。

Fedora 18

Fedoraこちらのページから好きな形式で落として、KVMなりXenなりVMwareなりにインストールする。
VMWareにインストールする場合は、仮想マシン設定のディスプレイから3Dグラフィックスのアクセラレーションをオフにしないとフリーズするので注意。

インストールが終わったら前準備として環境設定を一通り実施する。

# sudoの設定
su -
visudo
# 以下を追記する。hogeは適当なユーザ名に変更する。
# hoge	ALL=(ALL)	ALL
# %wheel	ALL=(ALL)	NOPASSWD: ALL
exit
# 必要に応じてキーボードを日本語入力に
sudo setxkbmap jp -model jp106
# 必要に応じてプロクシを設定
vi ~/.bashrc
# 以下を追記する。
# export proxy=xxx.xxx.xxx.xxx:xxxx
# export http_proxy=xxx.xxx.xxx.xxx:xxxx
# export ftp_proxy=xxx.xxx.xxx.xxx:xxxx
source ~/.bashrc
sudo vi /etc/yum.conf
# 以下を追記する。
# proxy=http://xxx.xxx.xxx.xxx:xxxx

これでFedora18の最低限の設定が完了。

OpenJDK8

続いてビルドに必要なパッケージを導入しつつ、OpenJDK8の最新版を入手してビルドする。これは時間がかかるのでシェルスクリプトとして実行するのが良い。一度実行してしまえばあとはビルド部分のみで済む。

#!/bin/baash

# ソースコード取得するための hg(mercurial)導入
sudo yum install -y hg
# 最新のOpenJDK8のソースコード取得
hg clone http://hg.openjdk.java.net/jdk8/jdk8 openjdk8
# ビルドに必要な関連プロジェクトのソースコード取得
cd openjdk8
./get_source.sh

# ビルドに必要なパッケージ等のインストール
# Fedora標準はJREのみのため、Boot JDK用に jdk7u7 以降のJDKを導入する。
sudo yum install -y java-1.7.0-openjdk-devel
# ビルドに必要な諸々のパッケージインストール (ないとconfigure/make時にエラー)
sudo yum install -y libXtst-devel libXrender-devel cups-devel freetype-devel alsa-lib-devel libXt-devel

# configuration
chmod +x configure
./configure
# ビルド
make all
# 動作確認(バージョン表示)
build/linux-x86_64-normal-server-release/jdk/bin/java -version

今回は特にオプションを追記せず、 make all でビルドしたが、色々なオプションがあるので Makefile 等を参照すると良い。