Centos下编译JDK
因为OpenJDK是开源的,这里使用openJDK进行编译联系
环境要求
- Centos6.7 64位
- openjdk-7u40-fcs-src-b43-26_aug_2013.zip
- bootstrap JDK: jdk1.6.0_38
因为我们是编译,所以环境的话可以根据自己的实际情况进行调整,JDK的源码包可以去这个网站进行下载https://jdk7.java.net/source.html
boostrap JDK:辅助JDK,意思是我们要编译一个新的JDK时需要别的JDK来辅助完成,就像点火需要打火机一样。
编译前的准备
因为要进行编译所以需要安装相应的编译工具
- 安装gcc、gcc-c++
yum install -y gcc gcc-c++
- 安装cups-devel (unix打印系统)
yum install -y cups-devel
- 安装alsa-lib-devel
yum install -y alsa-lib-devel
- 安装X图形库
yum install -y libXrender libXrender-devel libXi-devel libXt-devel libXtst-devel
- 安装freetype字体库
yum install -y freetype freetype-devel
- 安装bootstrap JDK
yum install -y java-1.6.0-openjdk java-1.6.0-openjdk-devel
- 安装ant
yum install -y ant ant-nodeps
设置环境变量
编译JDK时不同通过读取配置文件来看用户做了那些定制,而是用过读取当前shell的环境变量来看设置的。在设置环境变量时可以参考以下脚本
因为我们是要研究java虚拟机的所以这里开启DEBUG模式
#!/bin/bash #clear settings if you have ever setup
unset CLASSPAHT
unset JAVA_HOME #select language, required
export LANG=C #bootsrap JDK path installed, required
export ALT_BOOTDIR=/usr/local/jdk1..0_79 #setup freetype
export ALT_FREETYPE_LIB_PATH=/usr/local/lib
export ALT_FREETYPE_HEADERS_PATH=/usr/local/include
#setup ant path
export ANT_HOME=/root/apache-ant-1.9. #dowload dependencies automatically
export ALLOW_DOWNLOADS=ture #setup number of compiled threads same to cpus
export HOTSPOT_BUILD_JOBS=
export ALT_PARALLEL_COMPILE_JOBS= export SKIP_COMPARE_IMAGES=true export USE_PRECOMPILED_HEADER=true #setup what you want to compile
export BUILD_LANGTOOLS=true
#export BUILD_JAXP=false
#export BUILD_JAXWS=false
#export BUILD_CORBA=false
export BUILD_HOTSPOT=true
export BUILD_JDK=true #setup arch= if your cpu is or arch=
export ARCH_DATA_MODEL= #setup version
#export SKIP_DEBUG_BUILD=false
#export SKIP_FASTDEBUG_BUILD=true
#export DEBUG_NAME=debug BUILD_DEPLOY=false #cancel build install package
BUILD_INSTALL=false #setup output DIR
export ALT_OUTPUTDIR=/usr/local/jdk7-dev/build
注意:在执行脚本时使用source命令执行 source setenv.sh
编译
环境检查
当我们设置好环境变量后如果看我们的设置是否正确
进入源码的根目录,执行make sanity,如果结果如下则表示环境设置成功

编译
在源码的根目录执行make all就可以进行编译了
Centos下编译JDK的更多相关文章
- centos下编译安装lnmp
centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...
- centos 下安装jdk、tomcat 以及tomcat无法从外部访问的解决办法
centos 下安装jdk.tomcat 以及tomcat无法从外部访问的解决办法 原创 2014年08月28日 10:24:33 标签: selinux enforce cent 2223 昨天在c ...
- CentOS下配置jdk
CentOS下配置jdk 1.在jdk官网上下载最新版本的jdk 2.将jdk放到相应的位置,使用如下命令来解压. .0_181 /opt/data/ tar -zxf jdk-8u181-linux ...
- Ubuntu/CentOS下编译Nginx最基本参数
Ubuntu/CentOS下编译Nginx安装基本参数,做个记录: groupadd www useradd -g www www ./configure --user=www --group=www ...
- 转:在CentOS下编译安装GCC
转:https://teddysun.com/432.html 在CentOS下编译安装GCC 技术 秋水逸冰 发布于: 2015-09-02 更新于: 2015-09-02 6519 次围观 ...
- CentOS 下编译安装Apache
CentOS 下编译安装Apache 卸载原有的apache 首先从 http://httpd.apache.or 下载apache源码包httpd-2.4.4.tar.gz然后从 http://ap ...
- 【转】Centos下编译升级安装Boost
https://www.xingchenw.cn/article/191 Centos下编译升级安装Boost 首先在官网现在相应的包 https://www.boost.org/users/down ...
- centos下编译安装mysql5.6
CentOS 6.4下编译安装MySQL 5.6.14 参考:http://www.cnblogs.com/xiongpq/p/3384681.html 概述: CentOS 6.4下通过yum安装的 ...
- 2、CentOS下编译安装Python2.7.6(转)
CentOS系统下面Python在升级到2.7.6的时候,没有找到安装包直接安装,只能通过源代码编译的方式来安装Python 2.7.6版本.这篇是编译和安装Python2.7.6的过程记录. Cen ...
随机推荐
- Codevs 1025 选菜
题目描述 Description 在小松宿舍楼下的不远处,有PK大学最不错的一个食堂--The Farmer's Canteen(NM食堂).由于该食堂的菜都很不错,价格也公道,所以很多人都喜欢来这边 ...
- [转]TCP协议中的三次握手和四次挥手(图解)
本文转自:http://blog.csdn.net/whuslei/article/details/6667471 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来 ...
- OpenXml入门---word里面插入图片
下面介绍如何在word里面插入图片,顺便小弟发现MSDN官网有完整的OpenXML教程,虽然是全英文的不过还是很有帮助的. Tips,原来摘抄代码里面没有模板,在copy过来发现插入word中的图片大 ...
- MMORPG大型游戏设计与开发(part5 of net)
上一部分将服务器的具体代码的实现介绍给了大家,想必大家也了解到了服务器处理一次消息的复杂度.如果大家能够将各个过程掌握清楚,就会发觉其实整个逻辑与交互过程是比较清晰的.那么服务器与服务器之间的通讯,其 ...
- java设计模式之装饰模式
发现设计模式的学习越来越让自己学习的东西太少了,应该多接触一些东西,多出去走一走. 装饰模式概念: 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活(大话设计模式) 在不 ...
- 阿里云 CentOS6.5 ssh连接慢的解决方案
我租了一台阿里云深圳的服务器,用的是CentOS6.5的系统,最近要在服务器上小改点代码,但是不管用private shell 还是securecrt工具连接,连上去后,都特别慢,经常敲一段代码要过个 ...
- GitHub 下载文件夹
工具 TortoiseSVN 步骤 1.打开要下载的项目,选中要下载的文件夹,右键 选择 复制链接地址 2.把链接中的 tree/master 改成 trunk ,(trunk是master分支,可以 ...
- Jquery:小知识;
Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器 上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...
- [No000022]他们说:得诺贝尔奖到底有多难?
- 转: VMware 安装mac osx 10.11 安装步骤(一)(from伟东)
http://blog.csdn.net/soachenshui/article/details/49251513