2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OpenJDK9のビルド

Posted at

OpenJDK9をソースコードからビルドしてみたので、その手順をメモ。

環境

version
OS Ubuntu 15.04 (kernel 3.19.0-39-generic) x86_64
jdk 9-internal (build 9-internal+0-2015-12-15-112158.vagrant.OpenJDK9)

OpenJDK9のビルド

OpenJDKのjdk9リポジトリからmercurialでソースコードを取得し、ビルドする。
なおコードベースにはjavaファイルが含まれているため、そのビルド用にaptからOpenJDK8のバイナリをインストールしておく。

OpenJDK9インストール
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get install build-essential -y
$ sudo apt-get install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev -y
$ sudo apt-get install libasound2-dev libfreetype6-dev libcups2-dev -y
$ sudo apt-get install zip unzip mercurial -y
$ sudo apt-get install openjdk-8-jdk -y
$ unset JAVA_HOME
$ export LANG=C
$ export PATH="/usr/lib/jvm/java-8-openjdk-amd64/bin:${PATH}"
$ hg clone http://hg.openjdk.java.net/jdk9/jdk9 OpenJDK9
$ cd OpenJDK9/
OpenJDK9$ sh ./get_source.sh
OpenJDK9$ sh ./configure
OpenJDK9$ make all

ネットワーク状況とビルドマシンのスペックによるが、ソースコード取得とビルドには数十分という単位ではなく、数時間という単位で時間がかかるので注意。

ビルド時に遭遇したエラー1

sh ./get_source.shの最中に下記のようなメッセージが表示されていた場合、ソースコード取得に失敗している(ネットワーク環境が良くないと、転送途中でセッションがタイムアウトしてabortするるようだ)。
この場合、全てのリポジトリが正常に取得できるまで、sh ./get_source.shを繰り返せば良い。

                  jdk:   abort: stream ended unexpectedly (got 9616 bytes, expected 12490)
WARNING: jdk exited abnormally (255)

ビルド時に遭遇したエラー2

今回はVagrantで起動した仮想マシン上でビルドをしていたが、メモリ不足でビルド途中でコケた。Vagrantはデフォルトで480MB程度しかメモリを割り当てないので、2GBぐらいメモリを与えたほうが良い。

# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 25473024 bytes for committing reserved memory.

ビルド結果

ビルドに成功すると、OpenJDK9/build/linux-x86_64-normal-server-release/images/以下にjdkやjreのディレクトリが作成されている。生成されたjdkディレクトリをJAVA_HOMEに指定すれば、生成されたjavaやjavacを利用することができる。

$ export JAVA_HOME=/home/vagrant/OpenJDK9/build/linux-x86_64-normal-server-release/images/jdk
$ export PATH=$JAVA_HOME/bin:${PATH}
$ java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2015-12-15-112158.vagrant.OpenJDK9)
OpenJDK 64-Bit Server VM (build 9-internal+0-2015-12-15-112158.vagrant.OpenJDK9, mixed mode)
2
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?