CentOS6.5上编译OpenJDK7源码

采用开源的OpenJDK版本,获取其源码的方式有两种:

  • 通Mercurial代码版本管理工具从Repository中直接取得源码,但是速度太慢,需要花费数小时
  • 直接下载官方打包好的源码包(推荐)

下载源码openjdk-7u6-fcs-src-b24-28_aug_2012.zip,解压,下载地址如下:

http://www.java.net/download/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip

本次编译采用的是64位的OS,编译也是64位的JDK,内存至少需要512MB

1.基本流程

(阅读README和README-builds.html)

README-builds.html中包含有详细的安装信息,最好能完整的阅读一下。

2.安装基础软件包

我的centos6.5安装在vmware10上,安装时使用最小化(Minimal)安装

[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@localhost ~]# uname -m
x86_64
[root@localhost ~]# uname -r
2.6.32-431.el6.x86_64

配置更新源

cd /etc/yum.repos.d/
curl http://mirrors.163.com/.help/CentOS6-Base-163.repo > CentOS6-Base-163.repo 

当前wget还不能用

#wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS6-Base-163.repo CentOS-Base.repo
yum makecache

yum -y groupinstall 'base'
yum -y install make

安装jdk必备软件包:

yum -y install alsa-lib-devel
yum -y install cups-devel
yum -y install libXi-devel
yum -y install gcc gcc-c++
yum -y install libX*

上传或下载相关文件到/application/tools

mkdir -p /application/tools
cd /application/tools

上传或下载下列相关文件到/application/tools

freetype-2.3.12.tar.gz  下载地址:http://sourceforge.net/projects/freetype/files/freetype2/

openjdk-7u6-fcs-src-b24-28_aug_2012.zip  下载地址前文

apache-ant-1.7.1-bin.zip  下载地址:http://archive.apache.org/dist/ant/binaries/  

jdk-6u26-linux-x64.bin 
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-
archive-downloads-javase6-419409.html#jdk-6u26-oth-JPR

编译安装freetype:

tar -xzf freetype-2.3.12.tar.gz
cd freetype-2.3.12
./configure
make
make install

安装JDK:

解压缩jdk-6u26-linux-i586.bin到application/java/目录下

设置环境变量如下:

#set java environment
JAVA_HOME=/application/java/jdk
export JRE_HOME=/application/java/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

安装ant:

cd /application/tools/
unzip apache-ant-1.7.1-bin.zip
ln -s /application/tools/apache-ant-1.7.1/bin/ant /usr/bin/ant

检查java与ant:

[root@localhost ~]# java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
[root@localhost ~]# ant
Buildfile: build.xml does not exist!
Build failed

3.配置变量

nset CLASSPATH
unset JAVA_HOME
export LANG=C
export ALT_BOOTDIR=/application/java/jdk
export ANT_HOME=/application/tools/apache-ant-1.8.1/
export ALT_FREETYPE_LIB_PATH=/usr/local/lib
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
export ALT_FREETYPE_HEADERS_PATH=/usr/local/include/freetype2

4.检查环境是否配置OK与编译jdk源码

[root@localhost tools]# cd openjdk
[root@localhost openjdk]# pwd
/application/tools/openjdk
[root@localhost openjdk]# make sanity

……

OpenJDK-specific settings:
FREETYPE_HEADERS_PATH = /usr/local/include/freetype2
ALT_FREETYPE_HEADERS_PATH = /usr/local/include/freetype2
FREETYPE_LIB_PATH = /usr/local/lib
ALT_FREETYPE_LIB_PATH = /usr/local/lib

Previous JDK Settings:
PREVIOUS_RELEASE_PATH = USING-PREVIOUS_RELEASE_IMAGE
ALT_PREVIOUS_RELEASE_PATH = 
PREVIOUS_JDK_VERSION = 1.6.0
ALT_PREVIOUS_JDK_VERSION = 
PREVIOUS_JDK_FILE = 
ALT_PREVIOUS_JDK_FILE = 
PREVIOUS_JRE_FILE = 
ALT_PREVIOUS_JRE_FILE = 
PREVIOUS_RELEASE_IMAGE = /application/java/jdk
ALT_PREVIOUS_RELEASE_IMAGE =

Sanity check passed.

执行下列命令:

[root@localhost openjdk]# make all

Build times ----------
Target debug_build
Start 2015-05-05 09:34:37
End 2015-05-05 10:24:33
00:05:23 corba
00:10:49 hotspot
00:00:55 jaxp
00:01:07 jaxws
00:30:05 jdk
00:01:36 langtools
00:49:56 TOTAL
-------------------------
make[1]: Leaving directory `/application/tools/openjdk'

查看成果:

[root@localhost openjdk]#  ./build/linux-amd64/bin/java -version

openjdk version "1.7.0-internal-debug"
OpenJDK Runtime Environment (build 1.7.0-internal-debug-root_2015_05_05_09_15-b00)
OpenJDK 64-Bit Server VM (build 23.2-b09-jvmg, mixed mode)

时间: 2024-11-03 01:26:04

CentOS6.5上编译OpenJDK7源码的相关文章

依赖-怎样用vs2010编译mapnik源码

问题描述 怎样用vs2010编译mapnik源码 在官网下在mapnik-2.2.0. 一些个依赖项全都有.怎样用vs2010编译产生mapnik.dll 解决方案 网上资料实在太少,查了好几天都没有找到在windows上编译mapnik源码的资料.这么好的东西为什么没多少人在研究呢. 解决方案二: 后来编译出来没啊 楼主 我从官网上能下到mapnik.dll哎 但后面不知道应用到自己的程序里去

centos6.9 编译openJdk源码

仿照<深入理解Java虚拟机:JVM高级特性与最佳实践>编译openJdk源码 Linux系统 CentOS release 6.9 (Final) Kernel \r on an \m Bootstrap JDK java-1.6.0-openjdk-1.6.0.41.x86_64 源码 openjdk-7u75-src-b13-18_dec_2014.zip 编译结果 \ >>> Finished making images @ Thu Nov 2 21:51:02 CS

编译ubuntu源码的时候创的rootfs_tmp文件夹时删除出现“设备或资源忙”

问题描述 编译ubuntu源码的时候创的rootfs_tmp文件夹时删除出现"设备或资源忙" 如标题所示: 编译ubuntu源码的时候创的rootfs_tmp文件夹时删除出现"设备或资源忙" 先上图.. _这样我就不明白了,手动删的话也是出现这个问题,然后我就想到某度了下,说是有其他进程用着,好吧,我就来fuser下,带上-uv 选项, 然而进程号却成了这鬼...我一下楞逼了,按照我学的linux,进程号不就是数字么? 求解求解,这是为什么,这源码我还怎么编译下去?

《深入解析Android 虚拟机》——第1章 获取并编译Android源码 1.1获取Android源码

第1章 获取并编译Android源码 在本章中,将详细讲解获取并编译Android源码的基本知识,介绍各个目录中主要文件的功能,为读者步入本书后面知识的学习打下基础. 1.1 获取Android源码 要想研究Android系统的源码,需要先获取其源码.目前市面上主流的操作系统有Windows.Linux.Mac OS的操作系统,由于Mac OS源自于Linux系统,因此本书将讲解分别在Windows系统和Linux系统中获取Android源码的知识. 1.1.1 在Linux系统获取Androi

myeclipse-怎样在自己电脑上运行java源码

问题描述 怎样在自己电脑上运行java源码 本人小白一枚,以前用myeclipse做过网站,今天在这里下载了网络白板的java源码,但是用myeclipse导入之后为什么运行不了啊,请问应该怎样能让java'源码在自己电脑上跑起来啊 解决方案 例如d盘下,CaiShu.java 打开开始-运行-输入cmd回车打开命令行窗口 cd d: javac CaiShu.java 将java文件编译为字节码文件 然后用 java Caishu 运行程序. 以上操作是在环境变量配置正确的前提下进行

python flask-flak不能正常使用。直接在GitHbu上复制的源码,但是出现错误。相关扩展均已安装,如图

问题描述 flak不能正常使用.直接在GitHbu上复制的源码,但是出现错误.相关扩展均已安装,如图 问题出在from flask.ext.script import Manager上,显示unresolved import Manager,但是可以在CMD中运行,在 eclipse中就显示错误.stackoverflow,谷歌,百度,都找不到解决方法~求助~ 解决方案 那就是你安装的flask是否在eclipse中能够找到安装的包. 直接命令行中能不能编译,运行.

android源码编译-android 源码编译报错

问题描述 android 源码编译报错 android 源码编译报错,在网上查找没有类似的回答,是否有大神遇到类似问题. 解决方案 看看你报错的上一行,libext2fs.so这个文件缺少,应该是你的源码有问题,或者库没有安装好(编译源码前不是有环境配置吗,要安装一些列东西) 解决方案二: 在android 源码里 编译 aidl 报错 的问题编译android源码报错:build/envsetup.sh: 1: Syntax error: ""("" unexpe

编程-为什么我从开源网站上下载的源码全部都无法直接使用?

问题描述 为什么我从开源网站上下载的源码全部都无法直接使用? 好多的包都没有需要自己引入是网站的问题还是上传者的问题? 解决方案 一般开源都是maven工程,你把maven环境搭建好后就把对应jar包下载了就可以了 解决方案二: 另外,建议去github等口碑好的网站,它们是项目发布的第一来源,并且上面可以直接和作者互动,也有答疑.一些国内山寨小网站转贴过来,丢失文件,或者没有把作者的一些额外的说明文档贴过来,就看不懂了. 解决方案三: 你可以看一下开源代码对应的网站,如果是大的开源代码(如op

Git下载Spring源码 Gradle编译Spring源码为Eclipse工程文件

新增Spring-4.3源码下载,已经编译完成的,可以在Eclipse打开.地址: http://download.csdn.net/detail/zknxx/9568062 由于Spring源码托管到GitHub上,所以我们需要从GitHub上下载Spring源码.这里我们有两种方式可选,一种是用Eclipse里的Git插件,另外一种是下载一个GitHub客户端.Git插件我们可以从Eclipse的Market里下载:如下图所示:安装就行.安装完之后打开File-import 在import里