`

centos6.3编译openjdk7源码

    博客分类:
  • java
 
阅读更多

引自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..."
复制代码
分享到:
评论

相关推荐

    Centos 6.3编译安装lamp脚本

    Centos 6.3编译安装lamp脚本

    centos 6.3 64位下载

    标题中的“CentOS 6.3 64位下载”涉及到的是Linux操作系统的一个特定版本——CentOS 6.3的64位安装镜像。CentOS(Community ENTerprise Operating System)是基于Red Hat Enterprise Linux(RHEL)的开源免费操作...

    centos6.3中编译安装mysql.5.5.30

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

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

    安装必要的依赖软件包是源码编译安装的前期工作。使用`yum`命令安装以下软件包: ``` yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* libfix* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* ...

    CentOS6.3

    总结来说,关于"CentOS6.3"的主题,我们可以期待了解到如何安装和管理这个操作系统,如何从源代码编译软件,以及使用各种系统工具进行日常维护和故障排查。如果"mobilyblocks"是相关的一部分,那么可能还涉及到解压...

    CentOS6.3安装nginx操作指南

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

    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 虚拟机内的性能,并加强宿主机与虚拟机之间的交互能力。通过安装 ...

    centos7安装openjdk1.7文档说明

    CentOS 7 安装 OpenJDK 1.7 需要经过多个步骤,包括安装编译库、下载 OpenJDK 源代码、安装 Boot JDK、配置环境变量、解压 OpenJDK 压缩文件、编译 OpenJDK 等。下面是详细的安装步骤: 安装编译库 在 CentOS 7 中...

    centos6.3版本的安装于配置

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

    Centos6.3 yum安装lamp架构

    Centos6.3 yum安装lamp架构

    centOS6.3镜像种子

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

    安装CentOS6.3系统

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

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

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

    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平台标准版的一个实现。...

    CentOS 6.3安装(超级详细图解教程

    CentOS 6.3安装(超级详细图解教程) 相当齐全

    远程安装CentOS6.3

    远程安装 CentOS 6.3 并进行硬 RAID 配置 本文将指导用户如何远程安装 CentOS 6.3 操作系统,并在不同服务商的服务器上进行硬 RAID 配置。同时,本文还将详细介绍 CentOS 6.3 的安装过程和需求。 远程安装 CentOS ...

    CentOS6.3安装(超级详细图解教程)

    CentOS6.3安装(超级详细图解教程)。具体软件安装步骤与方法。

Global site tag (gtag.js) - Google Analytics