注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

Ubuntu12.04下编译OpenJDK7  

2012-06-27 02:02:36|  分类: Java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        编译 OpenJDK7

        1.下载OpenJDK源码 http://download.java.net/openjdk/jdk7/ 

        2.因为是Ubuntu,所以参考http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html 下载并设置依赖的环境    

After installing Ubuntu 9.04 you need to install several build dependencies. The simplest way to do it is to execute the following commands:

sudo aptitude build-dep openjdk-6

sudo aptitude install openjdk-6-jdk

In addition, it's necessary to set a few environment variables for the build:

export LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk


3.设置其他环境变量

export ALLOW_DOWNLOADS=true (让ant可以自动下载所需的资源)

export EXTRA_LIBS=/usr/lib/x86_64-linux-gnu/libasound.so.2

4.make

cd your_jdk_home

解压源码包

. jdk/make/jdk_generic_profile.sh 

make sanity && make


5.结果(Core i3 4G内存)

########################################################################
##### Leaving jdk for target(s) sanity all docs images             #####
########################################################################
##### Build time 00:11:34 jdk for target(s) sanity all docs images #####
########################################################################

-- Build times ----------
Target debug_build
Start 2012-06-27 01:22:40
End   2012-06-27 01:47:28
00:02:04 corba
00:07:19 hotspot
00:02:02 jaxp
00:01:05 jaxws
00:11:34 jdk
00:00:44 langtools
00:24:48 TOTAL
-------------------------
make[1]: Leaving directory `/home/hjzheng/openjdk'
root@hjzheng-ThinkPad-T520:/home/hjzheng/openjdk/build/linux-amd64/bin# ./java -version
openjdk version "1.7.0-internal-debug"
OpenJDK Runtime Environment (build 1.7.0-internal-debug-root_2012_06_27_01_13-b00)
OpenJDK 64-Bit Server VM (build 21.0-b17-jvmg, mixed mode)


6.常见错误(http://thebye85.iteye.com/blog/1545311)

1、"*** This OS is not supported:" `uname -a`; exit 1;

解决:

jdk限制了编译的liniux内核版本,修改文件/home/thebye85/jdk7/hotspot/make/linux/Makefile

查看当前的内核版本:$ uname -r

在这行最后加上当前的内核版本3.2%,如下:

SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7% 3.2%

2、/home/thebye85/jdk7/hotspot/src/share/vm/runtime/interfaceSupport.hpp:430:0: 错误: “__LEAF”重定义 [-Werror]

/usr/include/x86_64-linux-gnu/sys/cdefs.h:44:0: 附注: 这是先前定义的位置

cc1plus: all warnings being treated as errors

解决:

修改/usr/include/x86_64-linux-gnu/sys/cdefs.h,将__LEAF换个名字,如修改为__LEAF_A

 

参考资料:

http://www.jug-muenster.de/compiling-openjdk-7-with-ubuntu-12-04-4bit-1230/

  评论这张
 
阅读(2853)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017