从openjdk.java.net下载openjdk的软件包,你就获得了所有相关的源码。 强烈建议首先仔细看懂 README-builds.html 指南。
在执行 make all 之前,首先要 执行make sanity 来检验依赖是否满足,你最好解决所有的的error 和 warning。
编译需要的开发环境(包含了笔者使用的版本号):
openjdk 1.7.0 gcc 4.7.3 gnu make 3.8.1 ant 1.8.2 zip unzip cups alsa XRender Extension Header
下面只介绍开发过程中出问题的地方:
- 首先设置bootstrap jvm: 以为编译过程中需要使用已有的虚拟机 export ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk (建议设置LANG=C)
- make sanity报告找不到cups.h 头文件 (从 cups.org 官网下载安装包): export ALT_CUPS_HEADERS_PATH=/opt/cups-1.7.2/
- 接下来 make sanity 通过,但是编译过程中仍然出错,你不能生成j2sdk_image: 需要使用apt-get 安装这两个包: libxtst-dev, libx11-dev
到此,整个openjdk 生成完毕,输出为:
########################################################################
##### Leaving jdk for target(s) sanity all docs images #####
########################################################################
##### Build time 00:07:14 jdk for target(s) sanity all docs images #####
########################################################################
#-- Build times ----------
Target all_product_build
Start 2014-05-21 22:32:45
End 2014-05-21 22:40:19
00:00:04 corba
00:00:06 hotspot
00:00:03 jaxp
00:00:04 jaxws
00:07:14 jdk
00:00:03 langtools
00:07:34 TOTAL
-------------------------