OpenJDKのビルド方法

OpenJDKのビルド方法


Ubuntu10でのOpenJDK6のビルド方法


環境

Linux Ubentu 10.04 GNOME 2.30.2


ビルド手順

(1) ソースコードを展開する
(2) 必要な前提ソフトウェアをインストールする
(3) 環境変数を設定する
(4) makeを繰り返しながら、足りないヘッダを含むdevパッケージをインストールする。

(1) ソースコードを展開する


$ mkdir openjdk
$ cd openjdk
$ tar zxvf openjdk-6-src-b22-28_feb_2011.tar.gz # その場に展開することに注意する

(2) 必要な前提ソフトウェアをインストールする

$ make sanity
で、必要な依存パッケージや、必要な環境変数を教えてくれる。

実際に追加したパッケージのリストを以下に示す。
ant
libasound2-dev
libfreetype-dev
libmotif-dev
libcups2-dev

(3) 環境変数を設定する

$ export LANG=C #日本語が処理できないため。makeに手を入れてiconv等を挿入してもよい。
$ unset JAVA_HOME
$ export ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk #bootに必要なjdkを設定 なければインストール
$ export ALLOW_DOWNLOADS=true

上記を設定して、make sanityするとpassするはず。

(4) makeを繰り返しながら、足りないヘッダを含むdevパッケージをインストールする。

追加でインストールしたパッケージは以下
libxext-dev
libxtst-dev
libxp-dev
libxrender-dev

この状態でmakeする。
$ make help
$ make ※debug版は、make debug_build

ビルドが終了すると、下記に実行ファイルができる。
/.../openjdk/build/linux-i586-debug/bin
appletviewer java jdb jstack policytool tnameserv
apt java-rmi.cgi jhat jstat rmic unpack200
extcheck javac jinfo jstatd rmid wsgen
hotspot.log javadoc jmap keytool rmiregistry wsimport
idlj javah jps native2ascii schemagen xjc
jar javap jrunscript orbd serialver
jarsigner jconsole jsadebugd pack200 servertool

Ubuntu12 x64でのOpenJDK7uのビルド方法


ソースコードの取得


cd jdk7u
./get_source.sh

環境変数の設定

$ export LANG=C
$ unset JAVA_HOME
$ export ALT_BOOTDIR=/usr/lib/jvm/java-7-oracle //ここの設定は各自
$ export ALLOW_DOWNLOADS=true

足りないパッケージの追加


追加でインストールしたパッケージは以下
$ make sanityで事前チェックできる。

下記はmake sanityが教えてくれる
ant
libasound2-dev
libmotif-dev
libcups2-dev

make後のビルドエラー
g++
gawk
libxext-dev
libxtst-dev
libxp-dev
libxrender-dev

make

$ make
しながら、足りないパッケージを追加していく。
上記で全部足りると思うんだけど。。

Ubuntu12 x64でのOpenJDK8のビルド方法

OpenJDK8からconfigureが追加された
しかもconfigureを叩くと、足りないライブラリを教えてくれて、このapt-getを叩くんだ!と教えてくれるのでべんり。
環境変数の設定も不要になった。
基本的には下記のコマンドのみでビルドに成功する。

./configure //足りないパッケージがあるとapt-getでおしえてくれる。
make


memo

$ make debug_build ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk

デバッグ情報を追加してビルドしたい場合、下記を変更する

openjdk/hotspot/make/linux/makefiles/gcc.make
-gstabs -> -g

-gstabsの場合、libjvm_g.soが、16M程度に収まり、line numberとlocal variableの参照は問題なく行うことができる。
-gの場合、libjvm_g.soが、150M程度になるが、不要なシンボル等が削除されずに残る。








  • 最終更新:2014-04-08 23:48:16

このWIKIを編集するにはパスワード入力が必要です

認証パスワード