`

Ubuntu10.04下build OpenJDK7 的过程

阅读更多
Ubuntu10.04下build OpenJDK7 的过程


1. 安装mercurial
Mercurial是一个版本管理工具。
sudo apt-get install mercurial

安装mercurial的扩展,添加fclone在支持
hg clone http://bitbucket.org/pmezard/hgforest-crew

将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个:
[extensions]
forest=/home/daren/hgforest-crew/forest.py
fetch=

2. 下载jdk7源码
hg fclone http://hg.openjdk.java.net/jdk7/jdk7

3. 安装gcc、g++、make等
sudo apt-get install build-essential

4. 安装XRender
sudo apt-get install libxrender-dev
sudo apt-get install xorg-dev

5. 安装alsa
sudo apt-get install libasound2-dev

6. Cups
sudo apt-get install libcups2-dev

7. 安装jdk6

8. 安装ant
设置ANT_HOME
9. 安装findbugs
编译需要这玩意儿有点奇怪。需要设置FINDBUGS_HOME

10. 测试编译
export LANG=C ALT_BOOTDIR=/opt/jdk1.6.0_22/
#删除JAVA_HOME
export -n JAVA_HOME
export ALT_JDK_IMPORT_PATH=/opt/jdk1.6.0_22/
make sanity BUILD_JAXWS=false BUILD_JAXP =false

在build BUILD_JAXWS和BUILD_JAXP总是提示找不到源文件,而我又暂时对只对JDK、Hotspot感兴趣,所以索性把这两个给去掉。

如果出现:Sanity check passed.则表示测试编译通过了,不过也别开心得太早,真正make的时候不保证一定没问题,也许还会缺少某些依赖。

11. 编译
export LANG=C ALT_BOOTDIR=/opt/jdk1.6.0_22/
#删除JAVA_HOME
export -n JAVA_HOME
export ALT_JDK_IMPORT_PATH=/opt/jdk1.6.0_22/
#make BUILD_JAXWS=false BUILD_JAXP=false
#make DEBUG_NAME=fastdebug BUILD_JAXWS=false BUILD_JAXP=false
make DEBUG_NAME=all_fastdebug BUILD_JAXWS=false BUILD_JAXP=false

如果一切正常的话在$HOME/jdk7/build/linux-i586/下就有build出来的jdk等了。
分享到:
评论
5 楼 kingquake21 2012-12-25  
kingquake21 写道
:%s/__\(LEAF|ENTRY|QUICK_ENTRY\)/VM_\1_BASE/g

应该是
%s/__\(LEAF\|ENTRY\|QUICK_ENTRY\)/VM_\1_BASE/g
4 楼 kingquake21 2012-12-25  
:%s/__\(LEAF|ENTRY|QUICK_ENTRY\)/VM_\1_BASE/g
3 楼 kingquake21 2012-12-25  
在ubuntu12.04里编译时,源码里面有一个__LEAF定义与glibc里面的定义冲突了,需要修改源码
replacing __(LEAF|ENTRY|QUICK_ENTRY) with VM_(LEAF|ENTRY|QUICK_ENTRY)_BASE
2 楼 thebye85 2012-05-30  
编译出来了 
1 楼 ray_linn 2011-06-18  
openjdk感觉就像一个不会c/c++的同学搞出来的,真想拿掉里头的asla,换成openal,拿掉倒霉催的cups

相关推荐

Global site tag (gtag.js) - Google Analytics