1、下载openjdk源码 http://www.java.net/download/openjdk/jdk7/promoted/b147/openjdk-7-fcs-src-b147-27_jun_2011.zip (本文记录了openjdk7的编译过程,编译openjdk6的话需要在配置环境变量的时候多指定下ALT_MOTIF_DIR,然后make sanity,make)。
2、准备编译的环境
2.1 GNU make 3.81或更高版本
2.2 ANT 1.7.1或更高版本
2.3 Sun 的BootstrapJDK6 update14或更高版本(虽然有些奇怪,但是因为编译这些Java代码需要一个可用的JDK)
2.4 GNU gcc 4.3或更高版本
2.5 ZIP 2.2或更高版本
2.6 FreeType 2.3或更高版本 (下载地址http://download.savannah.gnu.org/releases/freetype/ ,下载后解压)
2.7 Advanced Linux Sound Architecture(ALSA) 0.9.1或更高版本(下载地址http://www.alsa-project.org/main/index.php/Download)
3、配置环境变量&&测试编译
进入到$OPEN_JDK_HOME目录下,执行:
export ALT_BOOTDIR=/usr/java/jdk1.6.0_45
export ALT_JDK_IMPORT_PATH=/usr/java/jdk1.6.0_45
export LANG=C
export ALT_FREETYPE_HEADERS_PATH=/usr/local/freetype/include
export ALT_FREETYPE_LIB_PATH=/usr/local/freetype/lib
export ALT_CUPS_HEADERS_PATH=/usr/include
jdk/make/jdk_generic_profile.sh ----jdk_generic_profile.sh加执行权限
export ALLOW_DOWNLOADS=true
export USE_PRECOMPILED_HEADER=true
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
unset JAVA_HOME
unset CLASSPATH
执行make sanity检测环境是否有问题,如果没问题则显示:
Sanity check passed.
最后执行 nohup make > log.log &.
编译成功后会看到类似如下信息:
>>>Making sec-files-win @ Tue Nov 18 19:47:51 CST 2014 ... >>>Making jgss-files @ Tue Nov 18 19:47:51 CST 2014 ... >>>Finished making images @ Tue Nov 18 19:47:51 CST 2014 ... make[2]: Leaving directory `/opt/openjdk/openjdk/jdk/make' ######################################################################## ##### Leaving jdk for target(s) sanity all docs images ##### ######################################################################## ##### Build time 00:24:58 jdk for target(s) sanity all docs images ##### ######################################################################## -- Build times ---------- Target all_product_build Start 2014-11-18 19:02:52 End 2014-11-18 19:47:51 00:05:03 corba 00:09:58 hotspot 00:01:22 jaxp 00:01:47 jaxws 00:24:58 jdk 00:01:50 langtools 00:44:59 TOTAL ------------------------- make[1]: Leaving directory `/opt/openjdk/openjdk'
附录下我在编译过程中遇到的问题:
ERROR: FreeType version 2.3.0 or higher is required.
指定
export ALT_FREETYPE_HEADERS_PATH=/usr/local/freetype/include
export ALT_FREETYPE_LIB_PATH=/usr/local/freetype/lib
ERROR: You do not have access to valid Cups header files.
安装cups-devel.
yum install cups-devel.
如果想详细了解编译openjdk的话请参阅《深入理解Java虚拟机:JVM高级特性与最佳实践》1.6 实战:自己编译jdk 这一章节。
推荐几个比较不错的参考帖子:
http://blog.csdn.net/kindazrael/article/details/7266314
http://chenjingbo.iteye.com/blog/1117021
http://happyenjoylife.iteye.com/blog/858147
同时想编译sunjdk的话可以参考http://anonymman.iteye.com/blog/2160370(Windows)和R大的http://rednaxelafx.iteye.com/blog/875957(Linux)。
相关推荐
在RHEL5.4环境下,RHCS集群配置涉及到多个步骤和组件,主要包括以下知识点: 1. 双网卡绑定:双网卡绑定是为了提高网络的稳定性和带宽。在RHCS集群中,双网卡绑定通常用于确保集群的心跳通信以及客户端服务的网络...
在RHEL5.4或CentOS系统上,可以直接安装这些RPM包,因为它们已经为这些系统进行了编译。如果你的系统不是RHEL5.4或CentOS,你可以参考压缩包内的`rpm_build.txt`文档,按照其中的指导自行编译源代码。 升级OpenSSH...
在vmware中安装RHEL5.4(32_86x)+界面安装oracle10g详细手册
本文将详细介绍如何在Linux环境下,具体来说是CentOS 5.3和Red Hat Enterprise Linux 5.4(RHEL 5.4),进行Oracle 11gR2的安装。此过程不仅包括了必要的系统准备,还涵盖了软件配置与优化策略。 #### 系统与环境...
RHEL5.4下可成功将 openSSH 4.3 + openssl 0.98e 升级至 openSSH 6.5 + openssl 1.0.1i 有效防止heartbleed漏洞攻击,无需更高的linux系统版本,已通过测试。 包内附所需要的安装包. configure过程中报错,请检查...
【标题】"rhel5.4远程安装共10页.pdf.zip" 提供的是关于Red Hat Enterprise Linux(RHEL)5.4版本的远程安装指南,这个文档可能详细阐述了如何通过网络对RHEL系统进行无盘或者基于网络的安装过程。在RHEL中,远程...
Gforge5.7.1在RHEL5.4下的安装
标题中的“rhel5.4”指的是Red Hat Enterprise Linux 5.4,这是一个由Red Hat公司发行的企业级Linux操作系统版本。CentOS 5.4是RHEL的一个克隆版本,提供了一个免费的、社区支持的平台,其核心与RHEL 5.4相同。这个...
如果没有安装,可以从RHEL 5.4的安装光盘Server目录下找到并安装。 2. **关闭防火墙和SELinux**: 由于LAMP环境中的服务需要开放特定端口,为了简化安装过程,我们暂时关闭了Linux的防火墙(iptables)和SELinux。...
### Linux系统:rhel-server-5.4-i386-dvd.iso #### 知识点一:RHEL(Red Hat Enterprise Linux)介绍 RHEL是Red Hat公司开发的一款广泛使用的Linux发行版,专为企业环境设计。它提供了一个稳定、可靠、安全的操作...
rhel 5.4 ibm 3850 raid driver
在RHEL 5.4操作系统中安装Nagios 3.2.3是一个涉及多个步骤的过程,主要用于实现系统监控,包括CPU负载、磁盘使用情况等关键资源的实时监测。Nagios是一款开源的网络监控系统,能够检测网络服务、主机状态以及各种...
数据库管理\mysql主从同步(RHEL 5.4)
【RH033 最后一个版本的官方教材 RHEL 5.4】是针对Red Hat Enterprise Linux (RHEL) 5.4版本的一份重要学习资料,尤其对于那些准备考取Red Hat Certified Engineer (RHCE)认证的人来说,这份教材具有极高的参考价值...
首先,RHEL5.4(Red Hat Enterprise Linux)是Red Hat公司推出的一款稳定的企业级Linux发行版,64位版本能更好地支持大型数据库的需求。Oracle 10g RAC则是在多个服务器上分布安装和运行的数据库实例,通过共享存储...