从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
-------------------------