LoginSignup
2
3

More than 5 years have passed since last update.

Dockerを使いOpenJDK9をビルド

Posted at

開発中のOpenJDK9を手元の環境でビルドしてみたので手順をメモ。手元の環境はWindows機なので、Dockerを使いCentOS7上でビルドしています。ビルドに時間はかかるけど特に詰まらず簡単でした。

前提

Dockerの環境がインストール済み。Docker Toolboxを入れておけばOK。

Dockerイメージ取得

DockerHubに公開されているCentOS7の最新版(2016/04/18時点)である7.2.1511を今回は利用。

docker pull centos:7.2.1511

ビルドに必要なライブラリをインストール

yum でさくっとインストール。

yum install -y autoconf automake bison \
 flex gcc gcc-c++ gcc-gfortran kernel-devel \
 make m4 patch tar bzip2 gzip xz file gmp-devel \
 mpfr-devel wget rsync unzip zip java-1.8.0-openjdk-devel \
 libXtst-devel libXt-devel libXrender-devel \
 cups-devel alsa-lib-devel freetype-devel which ccache

※必要なライブラリはCent OSでのOpenJDKのビルド方法 を参考とした。ただし、Java 7ではなくJava 8を使うようにした。
※これが必要最低限のライブラリかどうかまでは未調査。

OpenJDK9のソース取得

OpenJDKはMercurialをソース管理に使っているのMercurialをまずインストール。これもyumで入る。

yum install mercurial

後はhg cloneコマンドで取得。

hg clone http://hg.openjdk.java.net/jdk9/jdk9 OpenJDK9

これ自体は一瞬でcloneは完了する。取得されたファイルの中にget_source.shがあるので、これを実行して各サブリポジトリのソースをまとめてcloneする。

cd OpenJDK9
sh get_source.sh

ネットワーク回線次第だがここで少し時間がかかる。

OpenJDK9のビルド

clone完了後はconfigureを実行してmakeするだけ。デバッグ版としたかったので、configure--enable-debugオプションを付けている。

sh configure --enable-debug
make all

自分の環境(Intel Core i5-4300U CPU @ 1.90GHz)だと、大体1時間ちょっとでビルドは完了。VirtualBoxの仮想OSにはCPU1つしか割り当てていなかったので、複数割り当てるともうちょっと速くなるかも? メモリーは4GBを仮想OSに割り当てている。

動作確認

(cloneディレクトリ)/build/linux-x86_64-normal-server-fastdebug/images/jdkにビルドされている。
-versionで動作確認。

[root@08e244062a9d OpenJDK9]# ./build/linux-x86_64-normal-server-fastdebug/images/jdk/bin/java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (fastdebug build 9-internal+0-2016-04-18-083249..OpenJDK9)
OpenJDK 64-Bit Server VM (fastdebug build 9-internal+0-2016-04-18-083249..OpenJDK9, mixed mode)
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3