linux 6.2自己编译JDK

 

 
首先开始装系统:
注意:装系统时到软件定制这块儿时,一定要选现在定制、然后把开发里边儿的所有组件都选上,要不然在你编译的时候会很麻烦的。而且装好以后必须确定可以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” 博客,谢绝转载!

你可能感兴趣的:(开发,包,的)