`

Centos6.3上编译OpenJDK7源码

 
阅读更多

转:http://www.cnblogs.com/xleequ/archive/2013/01/07/2849449.html

本文包括4部分内容:

1.基本流程(阅读README和README-builds.html)
2.安装基础软件包
3.配置变量
4.检查环境是否配置ok与编译jdk源码

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

1.基本流程(阅读README和README-builds.html)

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

0. Get the necessary system software/packages installed on your system, see
http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html

1. If you don't have a jdk6 installed, download and install a JDK 6 from
http://java.sun.com/javase/downloads/index.jsp
Set the environment variable ALT_BOOTDIR to the location of JDK 6.

2. Check the sanity of doing a build with your current system:
make sanity
See README-builds.html if you run into problems.

3. Do a complete build of the OpenJDK:
make all
The resulting JDK image should be found in build/*/j2sdk-image

----------README-builds.html---------
Basic Linux Check List

Install the Bootstrap JDK, set ALT_BOOTDIR.
Optional Import JDK, set ALT_JDK_IMPORT_PATH.
Install or upgrade the FreeType development package.
Install Ant 1.7.1 or newer, make sure it is in your PATH.

---------------------

CentOS 5.5

After installing CentOS 5.5 you need to make sure you have the following Development bundles installed:
 Development Libraries
 Development Tools
 Java Development
 X Software Development (Including XFree86-devel)
Plus the following packages:

 cups devel: Cups Development Package
 alsa devel: Alsa Development Package
 ant: Ant Package
 Xi devel: libXi.so Development Package
The freetype 2.3 packages don't seem to be available, but the freetype 2.3 sources can be downloaded, built, and installed easily enough from the freetype site. Build and install with something like:

./configure && make && sudo -u root make install

(注意:Version 2.3 or newer of FreeType is required for building the OpenJDK.) =》freetype的版本至少为2.3或更新

Mercurial packages could not be found easily, but a Google search should find ones, and they usually include Python if it's needed.

注意:

(1).All OpenJDK builds require access to least Ant 1.7.1.(ant的版本至少为1.7.1)

(2).Linux only: Version 0.9.1 or newer of the ALSA files are required for building the OpenJDK on Linux.

2.安装基础软件包
我的centos6安装在vmware Fusion上,安装时使用最小化(Minimal)安装

[root@vm-pc ~]# cat /etc/redhat-release 
CentOS release 6.3 (Final)
[root@vm-pc ~]# uname -m
x86_64
[root@vm-pc ~]# uname -r
2.6.32-279.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*

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

#上传或下载相关文件到/application/tools
#freetype-2.3.12.tar.gz 
#openjdk-7u6-fcs-src-b24-28_aug_2012.zip
#apache-ant-1.7.1-bin.zip 
#jdk-6u26-linux-i586.bin

#编译安装freetype
tar -xzf freetype-2.3.12.tar.gz
cd freetype-2.3.12
./configure 
make
make install
复制代码

 如果安装时出现如下错误,则执行

mkdir -p /usr/local/include/freetype2/freetype/internal
make install

rmdir /usr/local/include/freetype2/freetype/internal
rmdir: failed to remove `/usr/local/include/freetype2/freetype/internal': No such file or directory
make: [install] Error 1 (ignored)
/usr/bin/install -c -m 644 ./builds/unix/ft2unix.h \
/usr/local/include/ft2build.h
/usr/bin/install -c -m 644 ./builds/unix/ftconfig.h \
/usr/local/include/freetype2/freetype/config/ftconfig.h 

复制代码
#安装jdk
yum -y install ld-linux.so.2
sh install_jdk.sh
source /etc/profile

#安装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@vm-pc ~]# java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)
[root@vm-pc ~]# ant
Buildfile: build.xml does not exist!
Build failed

3.配置变量

复制代码
unset CLASSPATH
unset JAVA_HOME
export LANG=C
export ALT_BOOTDIR=/application/java/jdk
export ANT_HOME=/application/tools/apache-ant-1.7.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@vm-pc openjdk]# pwd
/application/tools/openjdk
[root@vm-pc 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.  #表示ok了


[root@vm-pc openjdk]# make all ARCH_DATA_MODEL=64 ALLOW_DOWNLOADS=true

#-- Build times ----------
Target debug_build
Start 2013-01-07 14:41:38
End 2013-01-07 15:09:46
00:01:23 corba
00:09:56 hotspot
00:00:18 jaxp
00:00:25 jaxws
00:15:33 jdk
00:00:33 langtools
00:28:08 TOTAL
-------------------------
make[1]: Leaving directory `/application/tools/openjdk'

#查看劳动成果
[root@vm-pc openjdk]# ./build/linux-amd64/bin/java -version
openjdk version "1.7.0-internal-debug"
OpenJDK Runtime Environment (build 1.7.0-internal-debug-root_2013_01_07_14_31-b00)
OpenJDK 64-Bit Server VM (build 23.2-b09-jvmg, mixed mode)

 

 附:安装install_jdk.sh脚本

复制代码
#!bin/bash
# auto install jdk
# Filename: install_jdk.sh
# Author: quxl
# Email: xionglie.qu@gmail.com
# 

if [ "$UID" -ne "0" ]; then
    echo "You must be root to run this script! "
    exit 1
fi

TOOL_DIR=/application/tools
JAVA_DIR=/application/java
JAVA_HOME_DIR=${JAVA_DIR}/jdk
SETUP_FILE=jdk-6u26-linux-i586.bin

mkdir -p ${JAVA_DIR}
/bin/cp -f  ${TOOL_DIR}/${SETUP_FILE} ${JAVA_DIR}/${SETUP_FILE}
cd ${JAVA_DIR}
echo -e "\r\n" > yes
chmod u+x ${SETUP_FILE}
./${SETUP_FILE}<yes
rm -f ${JAVA_DIR}/${SETUP_FILE}
rm -f yes

ln -s ${JAVA_DIR}/jdk1.6.0_26 ${JAVA_HOME_DIR}

cat >> /etc/profile <<EOF
#set java environment
JAVA_HOME=${JAVA_HOME_DIR}
export JRE_HOME=${JAVA_HOME_DIR}/jre
export CLASSPATH=.:\$JAVA_HOME/lib:\$JRE_HOME/lib:\$CLASSPATH
export PATH=\$JAVA_HOME/bin:\$JRE_HOME/bin:\$PATH
EOF

source /etc/profile
echo "install Ok..."
复制代码
分享到:
评论

相关推荐

    centos6.3中编译安装mysql.5.5.30

    本文档介绍了在CentOS6.3编译安装mysql源码包的祥细步骤,带各种命令参数的说明,附带可能出现错误的解决方法。

    centos 6.3 64位下载

    综上所述,这个压缩包的内容涵盖了CentOS 6.3 64位操作系统的下载,以及可能的使用指南和额外资源获取途径。对于想要在虚拟机中部署64位CentOS 6.3的用户来说,这是一个必要的资源集合。在实际操作中,用户需要遵循...

    CentOS6.3源码安装mysql5.6方法.pdf

    通过以上步骤,你就成功地在CentOS 6.3上源码安装了MySQL 5.6.10。注意,源码安装虽然允许更深入的定制,但也需要更多的系统管理知识,包括对编译过程的理解和配置文件的调整。此外,保持软件的更新和维护也是一项...

    centos6.3中编译安装mysql.5.5.30.pdf

    至此,MySQL 5.5.30已经在CentOS 6.3上成功编译安装并启动。请注意,这个过程可能需要根据实际情况调整,例如调整配置参数以满足特定的需求,或者解决编译过程中遇到的依赖问题。此外,为了保证系统的安全性,通常还...

    CentOS6.3

    “源码”标签可能意味着讨论的内容涉及到编译自源代码的软件包,比如在CentOS 6.3上构建和安装软件时,用户可能需要从源代码编译,因为某些软件没有预编译的二进制包。这通常涉及使用GCC编译器、Makefile以及相关的...

    CentOS6.3安装nginx操作指南

    本指南将详细解释如何在 CentOS 6.3 环境下安装 Nginx,以及涉及到的源码编译与工具使用。 首先,确保系统是最新的。打开终端,输入以下命令更新系统软件包: ```bash yum update -y ``` 接下来,安装必要的构建...

    centos6.3中编译安装mysql.5.5.30定义.pdf

    在CentOS 6.3环境下,编译安装MySQL 5.5.30是一个涉及多步骤的过程,主要是为了满足特定需求或定制安装环境。以下是详细的知识点解析: 1. **实验环境与准备**: - 操作系统:CentOS 6.3 - 需要开启SSH服务,以便...

    CentOS 6.3 网络配置

    CentOS 6.3 网络配置 在 CentOS 6.3 中,网络配置是一个非常重要的步骤,它允许我们连接到局域网或互联网。在本篇文章中,我们将介绍在 CentOS 6.3 中两种常见的网络配置方式:编辑配置文件和使用 setup 命令。 ...

    CentOS 6.3 安装VMTools

    ### CentOS 6.3 中安装 VMTools 的详细步骤与注意事项 #### 一、VMTools简介 VMTools 是由 VMware 公司开发的一款增强工具包,主要用于改善 VMware 虚拟机内的性能,并加强宿主机与虚拟机之间的交互能力。通过安装 ...

    centos6.3中编译安装mysql.5.5.30借鉴.pdf

    在CentOS 6.3操作系统中,编译安装MySQL 5.5.30是一个相对复杂的过程,涉及到多个步骤和依赖。以下是对整个过程的详细解释: 首先,我们需要准备一个运行 CentOS 6.3 的环境,并确保 SSH 服务已启用且防火墙...

    centos6.3中编译安装mysql.5.5.30文.pdf

    在CentOS 6.3操作系统中,安装MySQL 5.5.30是一个涉及多个步骤的过程,主要包括系统准备、依赖安装、源码编译以及配置启动。以下是对这个过程的详细说明: 首先,确保你有一台运行CentOS 6.3的服务器,已经开启了...

    Centos6.3 yum安装lamp架构

    Centos6.3 yum安装lamp架构

    centos6.3版本的安装于配置

    主要是针对配置centos6.3版本的安装、python26的安装、python26模块的安装、nginx服务的安装、hg安装、解决乱码问题及ftp问题,centos6.3版本的安装与配置,安装过程中的配置,安装包选择

    Centos 6.3编译安装lamp脚本

    Centos 6.3编译安装lamp脚本

    centOS6.3镜像种子

    centOS6.3-DVD-IOS的下载种子.

    CentOS6.3 Linux操作系统安装教程

    【CentOS6.3 Linux操作系统安装教程】 CentOS是一款基于Red Hat Enterprise Linux(RHEL)源代码重新编译而成的免费Linux发行版,以其稳定性和兼容性受到广大用户的青睐,尤其适合构建LAMP(Linux、Apache、MySQL、...

    安装CentOS6.3系统

    ### 安装CentOS 6.3系统的详细指南 #### 一、准备工作 在开始安装CentOS 6.3之前,我们需要确保已经准备好了必要的工具和资源。首先,需要从官方镜像站点下载CentOS 6.3的ISO镜像文件。根据提供的链接: - **下载...

    centos6.3中编译安装mysql.5.5.30[参照].pdf

    在CentOS 6.3操作系统中手动编译安装MySQL 5.5.30是一个涉及多个步骤的过程,这个过程主要用于自定义安装路径、配置字符集以及确保系统的安全性和稳定性。以下是对这一过程的详细说明: 首先,为了进行编译安装,...

    java jdk1.7源码包,用于centos7使用jdk1.7编译openjdk1.8的 1.7版本

    Java JDK 1.7源码包是用于在CentOS 7操作系统上进行OpenJDK 1.8编译的重要资源。这个源码包包含了Java Development Kit的1.7版本,通常被称为JDK 7,它是Oracle公司发布的Java编程语言和Java平台标准版的一个实现。...

Global site tag (gtag.js) - Google Analytics