ubuntu编译hotspot

最近在看《HotSpot实战》,学习JVM,按照书中的介绍,只需要编译openjdk中的hotspot子项目,由于其子项目过多,没必要都编译。

1、使用到的软件

  • ubuntu-14.04.5-desktop-i386.iso
  • apache-ant-1.9.0-bin.zip
  • jdk-7u7-linux-i586.tar.gz
  • openjdk-7u40-fcs-src-b43-26_aug_2013.zip

2、下载依赖

sudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev binutils libmotif3 libmotif-dev ant libxt-dev libxtst-dev  

3、安装jdk、ant

4、创建脚本文件make.sh

进入openjdk/hotspot目录下,创建脚本文件并授予权限:chmod u+x make.sh

#设置语言
export LANG=C
export ALT_BOOTDIR=/usr/java/jdk1.7.0_07
#允许自动下载依赖包
export ALLOW_DOWNLOADS=true
#并行编译的线程数,设置为和CPU内核数量一直即可
export HOTSPOT_BUILD_JOBS=6
export ALT_PARALLEL_COMPILE_JOBS=6
#使用预编译头文件,不加这个编译会更慢
export USE_PRECOMPILED_HEADER=true
#要编译的内容
#export BUILD_LANGTOOLS=true
#export BUILD_JAXP=true
#export BUILD_JAXWS=true
#export BUILD_CORBA=true
#export BUILD_HOSTPOT=true
#export BUILD_JDK=true
#要编译的版本
export SKIP_DEBUG_BUILD=false
export SKIP_FASTDEBUG_BUILD=true
export DEBUG_NAME=debug
#把它设置为FALSE可以避免javaws和浏览器Java插件之类的部分build
BUILD_DEPLOY=false
#把它设置为false就不会build出安装包。因为安装包里有一些奇怪的依赖
#但即便不build出它也已经得到完整的JDK镜像,所以还是不用build它
BUILD_INSTALL=false
#存放编译结果
export ALT_OUTPUTDIR=/usr/java/openjdk1.7/build
unset CLASSPATH
unset JAVA_HOME
#make sanity && make
#"DEBUG_BINARIES=true"解决高版本的gcc不再支持编译选项stabs的问题
#DEBUG_BINARIES=true make 2>&1 | tee $ALT_OUTPUTDIR/build.log
cd make
DEBUG_BINARIES=true make jvmg jvmg1 2>&1 | tee $ALT_OUTPUTDIR/build.log

安装过程会遇到一些问题,可参考以下文章:
http://www.jackieathome.net/archives/395.html
http://blog.csdn.net/my_computer/article/details/37879469
http://www.cnblogs.com/dreamingodd/p/5827899.html
http://www.cnblogs.com/zxfdream/p/5411511.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值