首先开始装系统:
注意:装系统时到软件定制这块儿时,一定要选现在定制、然后把开发里边儿的所有组件都选上,要不然在你编译的时候会很麻烦的。而且装好以后必须确定可以ping的通外网,因为在编译的过程中是需要,连网下载东西的。
1.下载OpenJDK7的源码zip包:http://download.java.net/openjdk/jdk7/,得到openjdk-7-fcs-src-b147-27_jun_2011.zip
2.解压这个包,放到/root下,unzip -n -d /root /soft/openjdk-7-fcs-src-b147-27_jun_2011.zip
3.使用相关命令来安装依赖包:rpm -ivh rpm -ivh java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.x86_64.rpm java-1.6.0-openjdk-devel-1.6.0.0-1.41.1.10.4.el6.x86_64.rpm
这里会安装一个 jdk 6 在 /usr/lib/jvm/java-openjdk 这个位置,即所谓的“Bootstrap JDK”,因为编译java代码需要用到一个可用的JDK。
4.如果机器上没有安装stdc++,如果没有安装去安装一下。(一般的只要在你装系统的时候,安装了开发里边儿的所有组件,就肯定是已经安装上了)
执行 find /usr/ -name libstdc++.a,如果有:
/usr/lib/gcc/x86_64-redhat-linux/4.6.2/libstdc++.a
/usr/lib/gcc/x86_64-redhat-linux/4.6.2/32/libstdc++.a
则表示安装stdc++成功。
5.设置:
export LANG=C
export ALT_BOOTDIR=/usr/lib/jvm/java-openjdk
export ALLOW_DOWNLOADS=true
export USE_PRECOMPILED_HEADER=true
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
unset CLASSPATH
unset JAVA_HOME
6.修改 /root/openjdk/hotspot/make/linux下的Makefile文件,注释掉以下内容:(237行)
check_os_version:
#ifeq ($(DISABLE_HOTSPOT_OS_VERSION_CHECK)$(EMPTY_IF_NOT_SUPPORTED),)
# $(QUIETLY) >&2 echo "*** This OS is not supported:" `uname -a`; exit 1;
#endif
7.到OpenJDK目录下运行 make sanity 进行检测
可能会出现如下错误:
ERROR: You do not have access to valid Cups header files.
Please check your access to
/usr/include/cups/cups.h
and/or check your value of ALT_CUPS_HEADERS_PATH,
CUPS is frequently pre-installed on many systems,
or may be downloaded from http://www.cups.org
Exiting because of the above error(s).
make: *** [post-sanity] Error 1
不要着急,这只是缺一个cups-devel-1.4.2-44.el6.x86_64.rpm包而已,去装一下、然后再返回到OpenJDK目录下运行 make sanity
如果输出如下证明OpenJDK 编译环境检测没有问题:
PREVIOUS_RELEASE_IMAGE =
ALT_PREVIOUS_RELEASE_IMAGE =
Sanity check passed.
8.检测通过了在OpenJDK目录下运行
make clean
make
好了,正在编译中、大概需要几个小时的时间。
9.到build/linux-amd64/bin 下面执行
./java -version
openjdk version "1.7.0-internal-debug"
OpenJDK Runtime Environment (build 1.7.0-internal-debug-root_2012_03_11_21_31-b00)
OpenJDK 64-Bit Server VM (build 21.0-b17-jvmg, mixed mode)
10.完成
本文出自 “IT_Graceful” 博客,谢绝转载!