ablog

不器用で落着きのない技術者のメモ

OpenJDK7u101 を Oracle Linux 6.6 でビルドする

$ curl -L -O https://www.mercurial-scm.org/release/centos6/RPMS/x86_64/mercurial-3.7.3-1.x86_64.rpm
$ sudo rpm -ivh mercurial-3.7.3-1.x86_64.rpm
$ hg clone -r jdk7u101-b00 http://hg.openjdk.java.net/jdk7u/jdk7u jdk7u101-b00
$ cd jdk7u101-b00
$ ./get_source.sh 
  • パッケージをインストールする
$ sudo yum install -y gcc kernel-devel-`uname -r` libasound2-dev libfreetype-dev libmotif-dev \
libcups2-dev alsa-lib-devel cups-devel openmotif-devel libXt-devel libXtst-devel libXi-devel \
libXext-devel libXp libXp-devel libXpm-devel
  • ビルドする
$ cd jdk7u101-b00
$ unset JAVA_HOME
$ unset LD_LIBRARY_PATH
$ export LANG=C
$ export ALT_BOOTDIR=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64
$ export ALLOW_DOWNLOADS=true
$ export EXTRA_LIBS=/usr/lib/libasound.so.2
$ export ANT_HOME=/usr/local/bin/apache-ant-1.7.1
$ export PATH=$PATH:/usr/local/bin/apache-ant-1.7.1/bin
$ make sanity
$ make
(中略)
########################################################################
##### Leaving jdk for target(s) sanity all docs images             #####
########################################################################
##### Build time 00:19:10 jdk for target(s) sanity all docs images #####
########################################################################

#-- Build times ----------
Target all_product_build
Start 2016-05-15 17:19:28
End   2016-05-15 17:40:02
00:00:32 corba
00:00:15 hotspot
00:00:04 jaxp
00:00:31 jaxws
00:19:10 jdk
00:00:02 langtools
00:20:34 TOTAL
-------------------------
make[1]: Leaving directory `/home/yazekats/Documents/mercurial/jdk7u101-b00'
  • 確認してみる。
$ cd build/linux-amd64/bin
$ ./java -version
openjdk version "1.7.0-internal"
OpenJDK Runtime Environment (build 1.7.0-internal-yazekats_2016_05_14_21_25-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)