在ubuntu 12.04 64bit上编译openjdk7
2013-03-01 20:49
330 查看
参考:
http://hg.openjdk.java.net/jdk6/jdk6/raw-file/tip/README-builds.html 源码目录/README-builds.html
《深入理解JVM》
在XUbuntu 10.10上以JRL源码构建Oracle JDK 6 update 23 http://rednaxelafx.iteye.com/blog/875957
在ubuntu12.04下build自己的openjdk http://blog.csdn.net/majieyue/article/details/7498119
Linux 下编译自己的 OpenJDK7 包括JVM和JDK API http://blog.csdn.net/kindazrael/article/details/7266314
环境: Ubuntu 12.04 64bit + openjdk7
选择OpenJDK7
因为OpenJDK6的源码是从OpenJDK7某个基线中引出的,然后剥离掉JDK7相关代码,从而得到一份可以通过TCK6的JDK6实现。直接编译JDK7更“原汁原味”一些
。其实这两个版本的编译过程差别不大。
1, 下载源码
<<<<<<<<<<<<<<<<<<<<<<<<<
1,两种方式,一种是源码包;一种是从Mercurial版本库中检出
因为对Mercurial不熟悉,所以直接下载包。
http://download.java.net/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip?q=download/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip
>>>>>>>>>>>>>>>>>>>>>>>>>
2, 安装构建openjdk所需的第三方库————alsa,freetype,cups等
sudo apt-get build-dep openjdk-7
3, 准备Bootstrap JDK
export ALT_BOOTDIR= # 指定bootstrap jdk
sun jdk,openjdk应该都可以,一般安装对应版本的openjdk这样不容易出错。
apt-get install openjdk-7-jdk
4, 设置环境变量
export LANG=C
# unset是linux命令,删除环境变量
unset JAVA_HOME
export ALT_BOOTDIR=/usr/lib/jvm/java-7-openjdk-amd64
export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-7-openjdk-amd64
export BUILD_CORBA=false
5,检查条件是否满足,并构建:
make sanity && make
6,编译完成
#-- Build times ----------
Target all_product_build
Start 2013-03-01 20:32:30
End 2013-03-01 21:13:33
00:19:31 hotspot
00:00:22 jaxp
00:00:30 jaxws
00:19:55 jdk
00:00:45 langtools
00:41:03 TOTAL
-------------------------
执行编译好的jdk:
build/linux-amd64/bin/java -version
http://hg.openjdk.java.net/jdk6/jdk6/raw-file/tip/README-builds.html 源码目录/README-builds.html
《深入理解JVM》
在XUbuntu 10.10上以JRL源码构建Oracle JDK 6 update 23 http://rednaxelafx.iteye.com/blog/875957
在ubuntu12.04下build自己的openjdk http://blog.csdn.net/majieyue/article/details/7498119
Linux 下编译自己的 OpenJDK7 包括JVM和JDK API http://blog.csdn.net/kindazrael/article/details/7266314
环境: Ubuntu 12.04 64bit + openjdk7
选择OpenJDK7
因为OpenJDK6的源码是从OpenJDK7某个基线中引出的,然后剥离掉JDK7相关代码,从而得到一份可以通过TCK6的JDK6实现。直接编译JDK7更“原汁原味”一些
。其实这两个版本的编译过程差别不大。
1, 下载源码
<<<<<<<<<<<<<<<<<<<<<<<<<
1,两种方式,一种是源码包;一种是从Mercurial版本库中检出
因为对Mercurial不熟悉,所以直接下载包。
http://download.java.net/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip?q=download/openjdk/jdk7u6/promoted/b24/openjdk-7u6-fcs-src-b24-28_aug_2012.zip
>>>>>>>>>>>>>>>>>>>>>>>>>
2, 安装构建openjdk所需的第三方库————alsa,freetype,cups等
sudo apt-get build-dep openjdk-7
3, 准备Bootstrap JDK
export ALT_BOOTDIR= # 指定bootstrap jdk
sun jdk,openjdk应该都可以,一般安装对应版本的openjdk这样不容易出错。
apt-get install openjdk-7-jdk
4, 设置环境变量
export LANG=C
# unset是linux命令,删除环境变量
unset JAVA_HOME
export ALT_BOOTDIR=/usr/lib/jvm/java-7-openjdk-amd64
export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-7-openjdk-amd64
export BUILD_CORBA=false
5,检查条件是否满足,并构建:
make sanity && make
6,编译完成
#-- Build times ----------
Target all_product_build
Start 2013-03-01 20:32:30
End 2013-03-01 21:13:33
00:19:31 hotspot
00:00:22 jaxp
00:00:30 jaxws
00:19:55 jdk
00:00:45 langtools
00:41:03 TOTAL
-------------------------
执行编译好的jdk:
build/linux-amd64/bin/java -version
相关文章推荐
- ubuntu12.04 64bit 编译android源码时遇到的问题
- Ubuntu 12.04(64bit) Android 4.4编译环境搭载
- 在Ubuntu 12.04 64bit搭建Android编译环境后,重启卡住在Ubuntu logo,进不了图形界面
- Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面
- 在Ubuntu 12.04 LTS 64bit初始化Android编译环境后,遇到重启后卡住在Ubuntu logo,进不了desktop
- Ubuntu 12.04(64bit) Android 4.4编译环境搭载
- 在Ubuntu 12.04 上编译调试 OpenJDK8
- Ubuntu14.04(64bit)下编译openjdk-7-jdk
- Ubuntu 12.04 64bit 安装编译GCC 4.1.2 绝对原创
- Building LLVM on Ubuntu 12.04 32bit and Ubuntu 13.04 64bit ——LLVM安装编译手记
- ubuntu 12.04 64bit上使用32bit编译器编译kernel
- Ubuntu 12.04 64bit 下安装编译GCC 4.1.2 绝对原创
- Ubuntu 12.04 64bit兼容32bit GCC 交叉编译环境搭建
- Ubuntu 12.04 64-bit下安装android 2.3.x编译环境指南
- ubuntu 12.04编译android代码遇到"_FORTIFY_SOURCE"的解决方法
- Ubuntu 12.04本地编译安装Vim
- ubuntu 12.04编译MTK6582——FAQ
- Ubuntu 12.04 编译最新版u-boot-2012.04
- 在Ubuntu 12.04 - 64bit中安装CodeSourcery时提示错误
- 64bit ubuntu 16.04 安装海思编译32位工具链