记录在centos linux编译openjdk过程。
下载源码
在下载网址
http://hg.openjdk.java.net/jdk8u/jdk8u-dev/ 下载gz压缩包到本地。
cd /opt/source
wget http://hg.openjdk.java.net/jdk8u/jdk8u-dev/archive/jdk8u-dev.tar.gz
tar zxvf jdk8u-dev.tar.gz
cd jdk8u-dev
或者使用hg克隆到本地,然后下载源码
cd /opt/source
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev/
cd /opt/source/jdk8u-dev
#下载源码
sh get_source.sh
安装工具库
编译openjdk1.8时需要一个以安装的jdk环境,因为在编译过程中会使用ant打包java的库文件,所以需要安装jdk,但是在编译1.8时最好使用1.7及以前版本的jdk。
手册上一句话说明:
Building JDK 8 requires use of a version of JDK 7 that is at Update 7 or newer.
JDK 8 developers should not use JDK 8 as the boot JDK,
to ensure that JDK 8 dependencies are not introduced into the parts
of the system that are built with JDK 7.
下载jdk1.7(官网或者openjdk都可以)
mkdir -p /opt/depends/jdk1.7.0_80
cd /opt/depends/jdk1.7.0_80
wget https://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
安装依赖库
yum install libXtst-devel libXt-devel libXrender-devel cups-devel freetype-devel alsa-lib-devel
安装完成后可以进行下一步。
编译openJdk
- 环境变量
export LANG=C
unset JAVA_HOME
export JAVA_HOME=/opt/depends/jdk1.7.0_80
export PATH=$PATH:$JAVA_HOME/bin
- 生成Makefile
首先使用configure生成Makefile
cd /opt/source/jdk8u-dev
./configure --with-boot-jdk=/opt/depends/jdk1.7.0_80 --with-debug-level=fastdebug --with-target-bits=64 --with-num-cores=4
- 然后使用make编译
#编译全部模块
make all
#编译最终的jdk和jre及打包相关的jar库
make images
然后使用make all编译openjdk,最后在build文件下会有一个目录
linux-x86_64-normal-server-fastdebug,是存放编译结果的。