RHEL5.4下编译openjdk_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > RHEL5.4下编译openjdk

RHEL5.4下编译openjdk

 2014/11/20 18:16:53  AnonymMan  程序员俱乐部  我要评论(0)
  • 摘要: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,然后makesanity,make)。2、准备编译的环境2.1GNUmake3.81或更高版本2.2ANT1.7.1或更高版本2
  • 标签:编译 jdk RHEL

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 &.

?

?

编译成功后会看到类似如下信息:

?

class="java">>>>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的话可以参考下R大的http://rednaxelafx.iteye.com/blog/875957。?

?

?

?

?

?

?

?

?

发表评论
用户名: 匿名