在官网怎么下载j2sdk1.5啊?那个sun公司被收购之后产品怎么整合的?j2sdk1.5跟jdk6下载是同一个产品吗?

编译OpenJDK6去用作调试Oracle/Sun jdk1.6.0_45的源码 可以吗? - 讨论 - 高级语言虚拟机 - ITeye群组
& 上一页 1
编译OpenJDK6去用作调试Oracle/Sun jdk1.6.0_45的源码 可以吗?
另外OpenJDK和Sun JDK的版本是怎么对应的? 求解。
AnonymMan 写道编译OpenJDK6去用作调试Oracle/Sun jdk1.6.0_45的源码 可以吗?
这个问题没看懂。楼主能展开一点说说想做什么事情么?
是要调试Java的部分?C++的部分?C的部分?
是手上有哪边的源码,编译哪边,然后调试哪边?
从字面上理解楼主的问题,似乎是楼主有Oracle JDK6u45的源码但是编译不了,所以想编译并运行OpenJDK6,但是在调试时用Oracle JDK6u45的源码来参考?
&- 这个有点奇怪所以我觉得我理解错了…
AnonymMan 写道另外OpenJDK和Sun JDK的版本是怎么对应的? 求解。
这是我以前总结的对应表:
好久没更新了。
OpenJDK6与Sun JDK6其实没有直接的对应关系。历史原因:
R大,是这样的:我现在在OpenJDK官网下载了OpenJDK6的源码,现在想编译下OpenJDK6的源码,去调试Sun JDK6u45,Sun JDK6u45的源码官方不提供下载了,现在问题就是我不知道编译后的OpenJDK6的源码是否可以去调试Sun JDK的Java部分?
AnonymMan 写道R大,是这样的:我现在在OpenJDK官网下载了OpenJDK6的源码,现在想编译下OpenJDK6的源码,去调试Sun JDK6u45,Sun JDK6u45的源码官方不提供下载了,现在问题就是我不知道编译后的OpenJDK6的源码是否可以去调试Sun JDK的Java部分?
OK明白了。您只关心调试Java部分(主要是rt.jar)对不对?
可惜现实是残酷的:不太行。
前面我的回复里我给了一个Sun JDK跟OpenJDK的版本对应表。那个对HotSpot VM的部分有意义,但对JDK的库(Java)部分意义不太大。因为历史原因,OpenJDK6的代码跟Sun JDK6的代码并不同步,所以如果用前者的代码来调试后者的话会时不时遇到行号不对应的情况。
&- 不过如果您愿意在80%的时候都能看到代码而20%的时候虽然行号对不上但大概能猜到在哪里的话,用OpenJDK6的代码来调试也行吧。
与其用OpenJDK6的代码,如果您能试着找到比较早一些的Sun JDK6的代码包的话,那个应该更适用,毕竟后期JDK6的Java部分代码变化相当小。
&- 不过刚才试了下一些老的公开链接都失效了…现在从官网( / jdk6.java.net)都没指望找到JRL许可证的JDK6代码了。
哦,那好吧。从您的帖子中得知sunjdk6u23是oracle发布出来的最后一个JRL协议的版本,现在我去重新编译下sunjdk6u23,用来调试sunjdk6u45中的java部分(rt.jar)应该比用openjdk6的更加准确一点对吧? 还有个问题我在/questions//debug-jdk-source-cant-watch-variable-what-it-is 这个帖子中看到想要在eclipse调试时能看到jdk源码中变量的值,需要重新编译一份rt.jar,那么编译完sunjdk6u23后也需要用sunjdk6u23去重新编译一份rt.jar? 还是我直接把编译过的sunjdk6u23-internal-debug去当成我开发用的jdk?
AnonymMan 写道哦,那好吧。从您的帖子中得知sunjdk6u23是oracle发布出来的最后一个JRL协议的版本,现在我去重新编译下sunjdk6u23,用来调试sunjdk6u45中的java部分(rt.jar)应该比用openjdk6的更加准确一点对吧?
对的,Oracle JDK6u23比OpenJDK6更接近Oracle JDK6u45。
AnonymMan 写道还有个问题我在 这个帖子中看到想要在eclipse调试时能看到jdk源码中变量的值,需要重新编译一份rt.jar,那么编译完sunjdk6u23后也需要用sunjdk6u23去重新编译一份rt.jar? 还是我直接把编译过的sunjdk6u23-internal-debug去当成我开发用的jdk?
如果您已经找到了JDK6u23的源码而且已经完整编译出了JDK的话(SKIP_DEBUG_BUILD=false),那么您应该能看到build出来了几种不同的image。如果只是要调试Java部分的话,那么从j2sdk-debug-image里面找出rt.jar出来替换掉您现在用的JDK6u45的rt.jar,就可以方便的调试了。
这帖里也讨论过类似的事情:
还有直接拿JDK自带的src.zip来编译的办法:
R大,正好我现在在看您的编译oraclejdk6u23的那个帖子,现在我遇到个问题,以下是log:
make[4]: Entering directory `/opt/sunjdk1.6.0_23-6u23-source-code/j2se/make/sun/jdbc'
/usr/bin/gcc -shared -o /opt/sunjdk1.6.0_23-6u23-source-code/control/build/linux-amd64/tmp/sun/sun.jdbc.odbc/JdbcOdbc/libodbcinst.so dummyodbc.c
/usr/bin/ld: /tmp/ccoZD9Ib.o: relocation R_X86_64_32 against `a local symbol' can not be used when ma recompile with -fPIC
/tmp/ccoZD9Ib.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[4]: *** [/opt/sunjdk1.6.0_23-6u23-source-code/control/build/linux-amd64/tmp/sun/sun.jdbc.odbc/JdbcOdbc/libodbcinst.so] Error 1
make[4]: Leaving directory `/opt/sunjdk1.6.0_23-6u23-source-code/j2se/make/sun/jdbc'
make[3]: *** [all] Error 1
make[3]: Leaving directory `/opt/sunjdk1.6.0_23-6u23-source-code/j2se/make/sun'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/opt/sunjdk1.6.0_23-6u23-source-code/j2se/make'
make[1]: *** [j2se-build] Error 2
make[1]: Leaving directory `/opt/sunjdk1.6.0_23-6u23-source-code/control/make'
make: *** [dev-build] Error 2
这个是什么情况?
咦?这个ccoZD9Ib.o是啥来的。之前没留意过。您编译的操作系统是啥版本的?
RednaxelaFX 写道咦?这个ccoZD9Ib.o是啥来的。之前没留意过。
您编译的操作系统是啥版本的?
rhel5.4,我在这台机器上已经把openjdk6、7都编译通过了,但是现在编译oraclejdk6u23一直报错。
AnonymMan 写道rhel5.4,我在这台机器上已经把openjdk6、7都编译通过了,但是现在编译oraclejdk6u23一直报错。
Hmm?我觉得您的需求最好还是别花太多时间精力去解决编译整个JDK的依赖问题。直接用javac来把Java部分的源码编译掉好了。
编译rt.jar里的类对应的Java源码,需要给javac传-XDignore.symbol.file=true参数才行。请参考这帖:
写个Ant脚本就可以把有需要的Java文件全部编译掉了。
jar tf rt.jar
&- 可以看到rt.jar里的类的列表。用这个来创建Ant脚本就好了。
& 上一页 1Linux下jdk1.5的安装及中文显示问题解决方案
编辑:www.fx114.net
本篇文章主要介绍了"Linux下jdk1.5的安装及中文显示问题解决方案",主要涉及到Linux下jdk1.5的安装及中文显示问题解决方案方面的内容,对于Linux下jdk1.5的安装及中文显示问题解决方案感兴趣的同学可以参考一下。
Linux下jdk1.5的安装及中文显示问题解决方案----转载
Linux下jdk1.5的安装及中文显示问题解决方案Windows下安装和环境设置以及中文显示可以说是傻瓜式的。但是Linux下就不会那么顺利了,尤其是中文字体的显示一直以来总是困扰着用户。Jdk 1.5.0的中文显示设置和j2sdk 1.4.x时相比已经有了很大的改变。本文着重介绍jdk1.5在Linux操作系统下的安装、环境变量设置和中文显示问题的解决。1 首先,从sun下载jdk1.5的安装文件,一般有两种。下载地址:Linux RPM in self-extracting file (jdk-1_5_0-linux-i586-rpm.bin, 42.50 MB)Linux self-extracting file (jdk-1_5_0-linux-i586.bin, 43.95 MB)说一下两个安装文件的区别,Linux RPM in self-extracting file是一个把rpm安装包封装在压缩包内的二进制格式,在linux操作系统的命令行下,给文件加上执行的权限chmod a+x jdk-1_5_0-linux-i586-rpm.bin,然后./jdk-1_5_0-linux-i586-rpm.bin之后可以得到jdk- 1_5_0-linux-i586.rpm这个rpm包。前者的好处是容易安装和维护,傻瓜式的。而后者则适合高级的用户,相当于一个zip版本的&绿色&jdk,没有安装程序,安装完之后可能需要做一些链接(具体可以参考jdk安装指南文档)。同样地给后者加上执行权限之后直接执行二进制文件即可得到 jdk 1.5.0,一般用户的习惯都是将jdk放在/usr/java下,rpm安装后默认是在/usr/java下。2 安装好之后要做的便是环境变量的设置,也可分为两种不同的情况。第一种是对于单个用户的的环境变量设置。需要修改用户所对应的.bash_profile文件。我们可以通过vi ~/.bash_profile来编辑当前用户的bash_profile文件,当然你也可以用你自己喜欢的编辑器。在开头或者适当的地方插入一下代码:export JAVA_HOME=/usr/java/jdk1.5.0export CLASSPATH=.export PATH=$JAVA_HOME/bin:$PATH然后保存文件,注销重新登陆之后在控制台下输入java &version,如果出现一下信息则说明安装设置已经成功。注意:此代码是为了看起来简单,所以没有加上复杂的变量引用,熟悉shell的用户可以参 照第二种方法的代码进行修改。java version &1.5.0&Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)第二种是设置Linux的全局环境变量(需要root权限),修改/etc/profile,在适当的地方加入以下代码JAVA_HOME=/usr/java/jdk1.5.0PATH=$JAVA_HOME=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH JAVA_HOME CLASSPATH修改完成后保存,注销当前用户重新登陆后按照第一种同样的方法进行测试查看是否成功。至此,基本的安装和环境变量设置已经完成了。至于正确显示applet的浏览器的插件安装请查看Sun的文档:接下来要说如何修改配置来正确显示中文字体。3 最后来解决一下中文字体的显示问题。Jdk1.5.0的字体配置和1.4.x的时候相比有了很大的差别。虽然能显示一下中文,但是有一大半是无法正常显示的方块,很不爽。下面我们就来解决这个问题。先来看一下Sun公司对JRE1.5.0版的中文字体设置的官方说明中的一些资料:介绍一下其字体配置文件的加载方案。其加载顺序为(JavaHome指JRE的根目录,下同)JavaHome/lib/fontconfig.OS.Version.propertiesJavaHome/lib/fontconfig.OS.Version.bfcJavaHome/lib/fontconfig.OS.propertiesJavaHome/lib/fontconfig.OS.bfcJavaHome/lib/fontconfig.Version.propertiesJavaHome/lib/fontconfig.Version.bfcJavaHome/lib/fontconfig.propertiesJavaHome/lib/fontconfig.bfc其中,OS字段可以是:Windows: &98&, &2000&, &Me&, &XP&, &2003&。Solaris:空。Linux: &Sun&, &RedHat&, &Turbo&, &SuSE&。而Version字段指该OS的版本号。在这些配置文件中,仅.properties文件是文本文件。其格式跟JRE1.4.2版的不同。文件分为几段,并在每段开始时标明。我们需要关注的仅有两段:Component Font Mappings和Search Sequences。前者指定字体,后者指定要使用的properties的搜索顺序。知道了这些,配置起来就简单了。看了是不是有点晕,而且觉得没用?不要急下面会用到的。先把字体文件Simsun.ttf(可以从windows下拷贝一份到linux下)拷贝到JRE的字体目录$JAVA_HOME/jre/lib/fonts下,接着编辑字体目录下的文件fonts.dir,把第一行的数字加1,然后在最后加一行加上:simsun.ttf -SungtiL GB-medium-r-normal--0-0-0-0-c-0-gb然后保存文件。最后把字体配置文件改名为fontconfig.RedHat.properties这种形式(Fedora Core x也是Redhat的衍生物),把$JAVA_HOME/jre/lib下多余的fontconfig开头的文件全部移到新建的bak目录下,做为备份,如果一次不成功还用的着。注意:如果你的Linux不是Redhat和Fedora Core系列,请按照自己的发行版本对字体配置文件做相应的修改,参照Sun公司的资料,jds、Suse和Turbo应该没问题了。然后再在控制台下执行ControlPanel自己的程序也能完美的显示中文字体了!4 参考文献Sun公司对JRE1.5.0版的中文字体设置的官方说明:5适用平台redflag-linux4.1fedora core-linux2fedora core-linux4-x86版 (x86-64的版本没有配置成功)
本文标题:
本页链接:Java JDK API 1.6下载 官方下载_java运行环境 - pc6下载站JDK1.6官方下载_JDK6官方下载_JDK1.6API(chm)下载_JDK6APICHM中文参考下载_JDK1.6下载_JDK6下载 ftp://202.117.48.58/incoming/java2007/javabooks/jdk_api_1_6_zh_cn.chm JDK6官方下载地址 http://192.18.108.239/ECom/EComTicketServlet/BEGIN31DA9601C7CEF4A95D6CD8C/-/2617
siri是一款相当不错的软件,唯一不足的就是是英文版,所以很多朋友都在网上问siri中文版什么时候出,小编要告诉大家的是siri中文版已现世哦,并并且4个步骤就能实现,下面一起去瞧瞧吧! 备注:此中文SIRI并非官方出品,前提是iphone 4必须越狱。 第一次接触呢个插件的时候,我震惊了!!!距对普通话的识别好精准,居然仲支持广东话.
简单的四个步骤就可以轻松实现。 第一步:用Cydia安装插件 1、打开Cydia添加软件源:h
前提条件 1.iBackupBot软件一枚 2.旧系统的备份一枚,新系统的备份一枚(比如我的旧系统为4.3.2,新系统为5.0.1) 原理概述 1.使用iBackupBot提取旧系统备份中需要的数据,导入并且替换掉新系统的备份中。 2.使用iTunes让设备从备份中恢复,所选的恢复源当然是新系统的备份。 ibackupbot使用教程 提取需要恢复的短信,选中根路径为Library/SMS/的所有文件(小贴士:点一下文件框上面的Path,文件会有序排列),然后右键“Check Selected”,
日前Office 2010 RTM已经发布,网络上的资源络绎不断。但是与以往不同的是,Office 2010 RTM必须输入正确的Key才能安装。也就是即时你下载了网络资源如果没有激活码也无法进行安装。不过这个我总是相信如果下载资源出现了,相信激活方法也不久已,正所谓道高一尺魔高一丈。方法是有了,就是麻烦了点。如果你不嫌麻烦,可以考虑一试,又或者等更加完美的方法出现: 事前准备: 1.下载MSDN版Office 2010官方简体中文版 2.下载补丁 (64位补丁) 3.下载Mini KMS Ac
大家一定要使用电驴或者迅雷下载 VS2010中文版MSDN下载地址 Microsoft Visual Studio 2010 旗舰中文版(32位) MSDN下载 Microsoft Visual Studio 2010 Professional中文版(32位)MSDN下载 Microsoft Visual Studio 2010 Premium中文版(32位) MSDN下载 VS2010中文版 CD-KEY YCFHQ-9DWCY-DKV88-T2TMH-G7BHP TFS2010中文版下载地址
一、下载 首先要下载JDK的最新版本。我们可以在SUN公司的官方网站上下载:。 如果感觉比较麻烦可以到网站下载,下载地址 http://www./softs/75724.html 进入官网后我们会看到以下界面,选择Download - Java SE 进入该页面: 点击Java SE 6 Update 10 Beta 后面的Download按钮,在接下来页面中选择JDK 6。 进入了下载选项,我们的操作平台是Windows XP,钩选上协议,按continu
是中国人都喜欢汉化的东西,除非你想挑战英文,抑或你就是英语高手。百度一下eclipse中文版,眼花缭乱,不知道哪个才是。于是随便下载一个,不幸运的话,不是病毒就是英文版的,或者是“残缺版”的,让人煞费苦心。好吧,教大家一个纯净官方版的完美解决方案。 Eclipse Indigo 3.7(以此版本为例) eclipse语言包下载:http://www.eclipse.org/babel/downloads.php 方法一:自动检索 1、打开浏览器,浏览“参考资料”内给出的“eclipse语言包下载
中文版Excel.2007公式与函数应用宝典.pdf 217.4MB VISIO.2007宝典.pdf 112.7MB Access.2007宝典.pdf 234.1MB SharePoint.Server.2007宝典.pdf 180.8MB Access.2007.VBA宝典.pdf 113.8MB Excel.2007宝典.pdf 288.2MB PowerPoint.2007宝典.pdf 158.8MB PROJECT.2007宝典.pdf 188.3MB 中文版Excel.2007图表
小红伞是全球领先的防病毒软件和IT安全解决方案供应商,产品广泛应用于企业和个人领域。公司拥有20多年的安全防护经验,其客户超过1亿。小红伞产品因其极高的稳定性和近乎完美的一系列VB100奖项而闻名。作为“资讯安全,德国制造”协会的创办会员,小红伞是唯一一家保证没有第三方或政府可以访问或窥探其客户数据的防病毒软件供应商。 Avira AntiVir Personal 个人免费版提供基本病毒防护。保护您的计算机免遭危险的病毒、蠕虫、特洛伊木马、Rootkit、钓鱼、广告软件和间谍软件的危害。产品多次
针对Navicat Premium 10.X 中文版解决方法 1、报出监听错误、不能解析oracle SID标识符,我用sqlplus和pl/sql连接却是正常的!这说明我的配置文件是没有问题的。 2、重新将连接方式由TNS改为BASIC,然后依次填写连接信息,最后却爆出了“ORA-12737: Instant Client Light: unsupported server character set CHS16GBK”的错误。 3、确定是字符集问题后,google上查到类似的解决方案: OR
AutoCAD软件是全球领先的设计与文档编制解决方案,可帮助各行各业以及各种规模的公司推动设计创新。全新发布的AutoCAD(R) 2013版本软件能够连接和简化您的设计和文档编制工作流程,并通过新的工具连接Autodesk(R) 360云支持的服务,从几乎任何地点访问和协作处理设计。AutoCAD 2013中增加了三维自由形状设计——使用AutoCAD 2013软件中强大的曲面、网格和实体建模工具探索并改进您的创意。 西西特为大家制作了Autocad2013的安装注册激活图文教程,希望能帮到有需要的朋
亲,尽管乔布斯打造的iOS系统很完美,可是用户在使用他们的苹果设备时,用旧了总会发现变慢了,也许只是心里作用吧,但是由于在windows系统中的习惯,他们也想找一些可以清理系统的应用可以在自己的iOS设备上使用,iOS系统不同于Win,没有那么多所谓的垃圾文件,系统本身有“自净”功能,但是还是会存在一些无用信息和文件不会被系统自动清理。 如果你在这方面有“强迫症”,你肯定也想在iOS设备上也拥有一个工具,来帮助你进一步释放自己的设备储存空间。它就是iCleaner。 iCleaer是一款iOS系
Win8.1 Update如期的推出,向用户开放了下载服务,分别提供了win8.1 update离线更新和win8.1 with update完整系统镜像资源,但是有一个美中不足的地方就是在这批资源中都只有英文版,没有中文版,看不到用户该怎么去使用,所以这里教大家如何把英文版切换成中文版。 如何将Win8.1 Update英文版切换成中文界面: 一、在线下载安装语言包 1、登录Win8.1 Update系统,打开这台电脑(This PC),选择顶部工具栏的控制面板(Control Panel),
Apache最新官方配置文件中文版 ## Based upon the NCSA server configuration files originally by Rob McCool.#参照NCSA服务器的配置文件,原版由Rob McCool发布## This is the main Apache server configuration file. It contains the# configuration directives that give the server its instr
13日微软公司正式向Win10预览版用户推送Build 9879更新。该版本作为Win10 2014年最后一次更新,带来了包括全新的开始菜单、通知中心、OneDrive同步机制完善以及三指手势等诸多新变化。响应用户的需求,微软本次也提供了Win10预览版9879官方ISO镜像下载。Win10之家也在第一时间为大家带来了官方下载地址以及安装方法。 更新:Win10预览版9879简体中文版ISO镜像下载已经放出。 一、Win10预览版9879 官方ISO原版镜像下载: ① 系统镜像:这里提供的两个镜
安装XP SP3后的系统属性显示 新浪科技讯 北京时间4月29日消息,微软今天开始提供windows XP Service Pack 3(以下简称“XP SP3”)中文版下载。 尽管微软还没有发布XP SP3中文版的下载页面,但用户可以通过Windows Update直接下载这个335M的文件。 XP SP3包括了自2001年XP发布至今的全部升级补丁,也包含少量新功能特性,但未将Internet Explorer 7加入其中。安装SP3并不会像XP SP2那样明显改变用户体验。SP3的主要新功
visual foxpro9.0中文版图文安装教程来啦~相信很多朋友在安装visual foxpro9.0都出现了各种安装问题,下文小编就为大家带来visual foxpro9.0的安装图文教程,希望能帮到大家。 visual foxpro9.0中文版安装教程: 1.解压缩Microsoft Visual FoxPro 9.0 首先把镜像解压出来,选中文件右击&打开方式→选择程序→选择压缩工具打开 2.安装原版Microsoft Visual FoxPro
win7操作系统的使用越来越广泛,但是在一些公司为了促进员工有关语言的学习,会将操作系统的相关语言转换成别的语言,但是有关WIN7中文版如何安装其他语言包,大家都并不是特别了解,下面小编就来介绍一下win7语言包怎么安装,希望对大家有所帮助。 以WIN7中文版如何安装英语语言包为例,以下为图文教程: 步骤一:下载所需安装语言包的软件工具,可以去官方网站下载,选择适合操作系统的语言包。 步骤二:选择下载的语言包,选择安装,系统会提示你等待20分钟左右即可完成安装工作,如下图所示。
shadow defender中文版进入影子模式不需要重启计算机 ,而且还能保护多分区。你只要打开界面,选择你想要的分区,在前面打勾或者去掉勾,没sd的系统是一张白纸,sd就是在白纸上加一层透明的薄膜。你写的任何东西其实都只是在薄膜上,虽然看着像是写在白纸上了。重启系统就是换另一张薄膜。排除列表:就是预先在薄膜上开出一个个小洞,当然是用户开的。这样在有小洞的地方写东西就直接写在白纸上了。 这几天跑到虚拟机区来逛逛,发现有一些友友问Shadow Defender使用教程方面的问题,大家觉得简单也就
Camfrog Video Chat(中文名称:康福视频聊天)一套全球顶级多视频聊天(可同时观看100位聊友的视频)、电视会议软件,它采用了最先进的多媒体数字流技术,让您与全球网友更加顺畅的语音、视频聊天或办公;您可以跟不同国家拥有摄像头的在线聊友在不同闲聊房间一起聊天,当然也可作为电视会议的一个手段。Camfrog Video有很强的防火墙和路由器适应性,因此视频聊天体验将更顺畅。目前Camfrog Video Chat的全球注册用户已达到3亿,全球同时在线聊友人数超过300万,它具备QQ、M在XUbuntu 10.10上以JRL源码构建Oracle JDK 6 update 23 - Script Ahead, Code Behind - ITeye技术网站
博客分类:
上周末在看到这样一个问题:
liueye 写道请问有谁在Linux环境编译过SUN JVM,请提供编译手顺,谢谢
于是回答一下…
这年头想从JRL源码来构建JDK的应该不多了吧。毕竟Sun(-& Oracle)的JDK开源源码的主流早已是。
如果要尝试构建基于Sun源码的JDK,强烈建议优先考虑OpenJDK。选择它有诸多好处:
1、它的核心代码与同时期Sun(-& Oracle)的产品版基本上是一样的,血统纯正,不用担心性能问题,也基本上没什么兼容性问题;
(代码上最主要的差异是在原本JDK依赖的第三方库上,包括加密库、音频库、字体等。核心部分,也就是HotSpot VM与Java核心库基本上保持了Sun JDK的原貌,甚至还比Sun JDK更快的吸收社区反馈的贡献)
2、它是真正开源的,许可证是,使用上比原本JDK的另外两种许可证要自由一些;
3、由于考虑到社区的开发者的build环境需求,OpenJDK的构建系统比原本的JDK有大幅改进,使整个build过程变得非常轻松。
如果要构建OpenJDK 6,参考即可。
在Ubuntu或其他Debian系的Linux上只要靠aptitude build-dep openjdk-6就能抓到大部分需要的依赖包,相当轻松。
OpenJDK 6 Build README 写道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 gcc-4.2 g++-4.2
sudo aptitude install libmotif-dev
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
Then, calling make in the top level OpenJDK source code directory with the following parameters results in a working build:
make all CC=gcc-4.2 CPP=g++-4.2
(注:没有aptitude的话把上面的代码改为用apt-get就行
另外,实际build的时候发觉如果JAXP和JAXWS出问题的话只要再多来个export ALLOW_DOWNLOADS=true就好了。
OpenJDK6 build 20及之前的版本的CORBA要build起来可能有点麻烦,没用到的话直接BUILD_CORBA=false吧。另外现在java.net迁移了之后,这些版本里jaxp.properties和jaxwa.properties里的下载地址不对了,要修正)
在OpenJDK之外,Sun确实也有以别的许可证形式提供JDK的源码。
其中一种是。这与微软在公布其.NET的虚拟机CLR的部分实现——所使用的许可证有相似之处。Sun从1998年12月开始就通过SCSL许可证公布了许多产品的源码,包括全线JDK源码,一直到。
SCSL的可操作性一直受到社区的诟病,所以从JDK 5.0开始,Sun开始使用一种新的许可证,来公布其源码,主要用于面向研究人员提供JDK源码。
由于这两种许可证的使用限制都比较大,并不是真正意义上的“开源”(大写的Open Source),所以在OpenJDK出来之后,以这两种许可证公布的源码已经越来越不受关注。
根据上个月的一则新闻,,以后Oracle JDK将不会再以JRL许可证发布源码,只保留以GPLv2+CE许可证发布OpenJDK源码。
更新():几天前刚出的的源码果然就没有继续以JRL许可证公开发布了。
但既然写了这一帖,肯定还是有人想直接拿JRL许可证公布的Sun JDK源码来build的。就让我们来看看要build出其中的大部分需要怎样的环境,要做哪些事情吧。
· (JDK v6u23 fcs)
·
· (重点在帖后Kelly O'Hair的回复中)
有篇老文虽然没参考上不过还是把链接记下来吧:
另外,同事先前也询问过build JDK的事。他build的是OpenJDK 7,笔记在这里:
构建的目标
本帖要build出来的内容主要为研究、开发目的服务,而不用于再发布。因此不把整个Sun JDK里的所有源码都build掉,可以避开一下非常麻烦的东西。
要build出来的部分包括:
·功能完整的HotSpot VM(libjvm.so等)
·功能完整的Java核心类库(rt.jar等)
·功能完整的JDK内建工具及其启动程序(j2sdk-image/bin目录里的)
引用appletviewer
rmiregistry
native2ascii
java-rmi.cgi
jrunscript
servertool
policytool
tnameserv
·由上述组件构成的JRE、JDK映像
·上述项目的product build及fastdebug build
不包括:
·
·JAXWS
·
·
·JDK或JRE的安装包
要获取Oracle JDK的最新源码,可以在官网页面找到“Java SE 6 JDK Source Code”的一栏,点击“Downlaod”链接即可跳转到当前JDK版本的源码下载页。
2012-06更新:这个链接已经无法下载到JRL许可证的JDK 6源码。下面也是。
本帖需要下载的包是这两个:
·JDK 6u23 Source under the
jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar
·JDK Binaries for Source Build 6u23
jdk-6u23-fcs-bin-b05-jrl-12_nov_2010.jar
(顺带一提,FCS的意思是
引用FCS (Final Customer Shipment)
the stage at which a product has completed the beta-testing phase and is available to be shipped to customers)
如果想下载较早版本的JDK6源码,可以在页面找到源码下载页的列表。
2012-06更新:同上,这个链接也已经无法下载到JRL许可证的JDK 6源码。
再次提醒注意:这些源码都是以公布的,请确认自己的需求在许可证允许的范围内。
我的主系统现在是 10.10 x86_64,不过上面已经装了很多开发包,到底哪些是用来build JDK的我也不记得了。所以这次装了 4,在上面装了个干净的 10.10 x86专门用来实验。
本帖描述的build环境适用于当前主流版本的Ubuntu、XUbuntu和KUbuntu,也应该适用于许多。RPM系Linux需要自己找对应的软件包了。
从干净的XUbuntu安装开始,到最终能完成一次generic debug build,过程中安装了下列软件包:
引用build-essential
openjdk-6-jdk
libasound2-dev
libcups2-dev
libxrender-dev
xutils-dev
x11proto-print-dev
一口气用apt-get把它们都装上就好了:
引用$ sudo apt-get install build-essential gawk m4 openjdk-6-jdk libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-print-dev
虽然我没通过apt-get显式安装binutils,但确认了这系统实际上有装过,如果build过程中有意外的错误的话请安装binutils:
引用$ sudo apt-get install binutils
build-essential gawk m4 binutils:
& 这些是Linux上的一些基本工具,build许多东西都需要它们。build-essential主要用来装g++(GNU C++编译器)及C++标准库;gawk是GNU版awk,用来做文本操作;m4是一种模板语言,AWT的DebugHelper依赖它来生成部分源码;binutils主要是链接器、汇编器、反汇编器之类的。
openjdk-6-jdk:
& 要build JDK,需要先安装一个启动用的JDK(“”)。apt-get默认将它安装在/usr/lib/jvm/java-6-openjdk。build的时候要把ALT_BOOTDIR设置到它的安装目录上。这里装Sun JDK来做Bootstrap JDK也行。
libasound2-dev:
& 这是相关的依赖。
libcups2-dev:
& 这是相关的依赖。
libxrender-dev xorg-dev xutils-dev x11proto-print-dev:
& 这些全部都是X相关的依赖,主要是为了build出AWT的部分才会需要的。这部分依赖非常非常蛋疼。在安装完依赖后,还得造个符号链接,把/usr/lib映射为/usr/X11R6的别名,这样build过程才能正确找到X11的头文件:
引用$ sudo mkdir /usr/X11R6
$ cd /usr/X11R6/
$ sudo ln -s -T /usr/lib lib
在真正开始build之前,先把先前下载到的两个包,jdk-6u23-fcs-src-b05-jrl-12_nov_2010.jar 与 jdk-6u23-fcs-bin-b05-jrl-12_nov_2010.jar 解压到同一目录下,确保该目录有读写权限,并确认该目录有4G以上的剩余空间可用。
本帖中源码包是解压到/media/JDK6_build_area/jdk6u23目录中的。
为了解决一个缺少符号的问题,要在解压出来的源码目录里,找到j2se/src/solaris/native/sun/awt/awt_GraphicsEnv.c,第965行:
if (xerr-&minor_code == X_ShmAttach) {
将X_ShmAttach改为1,变成:
if (xerr-&minor_code == 1) {
设置环境变量
本帖描述的build过程中需要设置的环境变量只有一个,
引用$ export LANG=C
如果环境中已经设置了JAVA_HOME的话,要将该环境变量去掉,否做build过程中会有诡异的事情发生:
引用$ unset JAVA_HOME
检查编译环境的正确性
进入到解压后源码包的control/make目录中,用make dev-sanity命令即可。该命令后面要带上一些环境参数,完整如下
引用$ make dev-sanity BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk ALT_DEVTOOLS_PATH=/usr/bin HOTSPOT_BUILD_JOBS=2
检查过程中输出的日志请见本帖附录。简单介绍其中几个参数的含义:
dev(或者DEV_ONLY):
& 把它设置为true可以让另外三个变量也变为true:SKIP_COMPARE_IMAGES、BUILD_INSTALL、NO_DOCS。
BUILD_DEPLOY:
& 把它设置为false可以避开javaws和浏览器Java插件之类的部分的build。
BUILD_INSTALL:
& 把它设置为false就不会build出安装包。因为安装包里有些奇怪的依赖,但即便不build出它也已经能得到完整的JDK映像,所以还是别build它好了。
SKIP_COMPARE_IMAGES:
& 比较本次build出来的映像与先前版本的差异。这个对我们来说没有意义,必须设置为false,否则sanity检查会报缺少先前版本JDK的映像。如果有设置dev或者DEV_ONLY=true的话这个不显式设置也行。
ALT_BOOTDIR:
& Bootstrap JDK的安装路径。必须设置。
ALT_DEVTOOLS_PATH:
& zip和unzip工具所在的路径。必须设置。
HOTSPOT_BUILD_JOBS:
& 这个变量主要是设置build HotSpot的过程的并发程度。基本上设到跟CPU的核数一样多没什么问题吧。这个参数不设也没关系。

& 这个变量不用设置。因为要build的JDK足够完整,缺少的部分我们都不需要。
正式开始build
环境设置好之后,剩下就没啥问题了。在解压出来的源码包的control/make目录里连续执行两次下述命令即可。后一次时间会比较长,中间做点什么别的事吧,别傻等哦
引用$ make dev BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk ALT_DEVTOOLS_PATH=/usr/bin HOTSPOT_BUILD_JOBS=2
为什么要连续执行两次呢?反正在本帖的环境里,源码包中所包含的Motif是没办法一次过顺利build出来的。第一执行上面的命令后,会看到类似这样的错误:
引用gcc: /media/JDK6_build_area/jdk6u23/control/build/linux-i586/motif-i586/lib/libXm.a: No such file or directory
make[4]: *** [/media/JDK6_build_area/jdk6u23/control/build/linux-i586/lib/i386/motif21/libmawt.so] Error 1
make[4]: Leaving directory `/media/JDK6_build_area/jdk6u23/j2se/make/sun/motif21'
make[3]: *** [all] Error 1
make[3]: Leaving directory `/media/JDK6_build_area/jdk6u23/j2se/make/sun'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/media/JDK6_build_area/jdk6u23/j2se/make'
make[1]: *** [j2se-build] Error 2
make[1]: Leaving directory `/media/JDK6_build_area/jdk6u23/control/make'
make: *** [dev-build] Error 2
但其实没关系,无视它,再执行一次同样的命令,就build过去了。
Build正确完成后,最后应该可以看到类似下面的提示信息:
引用generic_debug_build build finished: 11-01-16 03:11
make[2]: Leaving directory `/media/JDK6_build_area/jdk6u23/control/make'
Control workspace build finished: 11-01-16 03:11
make[1]: Leaving directory `/media/JDK6_build_area/jdk6u23/control/make'
然后到build出来的JDK映像的bin目录里去看看的话,
引用rednaxelafx@vbox:/media/JDK6_build_area/jdk6u23/control/make$ cd ../build/linux-i586/j2sdk-image/bin/
rednaxelafx@vbox:/media/JDK6_build_area/jdk6u23/control/build/linux-i586/j2sdk-image/bin$ ./java -version
java version "1.6.0-internal"
Java(TM) SE Runtime Environment (build 1.6.0-internal-rednaxelafx_16_jan_-b00)
Java HotSpot(TM) Server VM (build 19.0-b09, mixed mode)
rednaxelafx@vbox:/media/JDK6_build_area/jdk6u23/control/build/linux-i586/j2sdk-image/bin$ cd ../../j2sdk-debug-image/fastdebug/bin/
rednaxelafx@vbox:/media/JDK6_build_area/jdk6u23/control/build/linux-i586/j2sdk-debug-image/fastdebug/bin$ ./java -version
java version "1.6.0-internal-fastdebug"
Java(TM) SE Runtime Environment (build 1.6.0-internal-fastdebug-rednaxelafx_16_jan_-b00)
Java HotSpot(TM) Server VM (build 19.0-b09-fastdebug, mixed mode)
到此,我们自己build出来的Sun(-& Oracle) JDK就到手了。然后随便改改代码、调试来玩玩吧
看,build出来的JDK里的JConsole运行也是正常的哦,前面libXm.a的那个错误不是大问题:
make dev-sanity的命令及输出结果:(超出显示范围的部分请复制下来看吧)
引用$ make dev-sanity BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk ALT_DEVTOOLS_PATH=/usr/bin HOTSPOT_BUILD_JOBS=2
../../control/make
make sanity DEV_ONLY=true
make[1]: Entering directory `/media/JDK6_build_area/jdk6u23/control/make'
make[2]: Entering directory `/media/JDK6_build_area/jdk6u23/j2se/make'
make[2]: Leaving directory `/media/JDK6_build_area/jdk6u23/j2se/make'
Build Machine Information:
build machine =
Build Directory Structure:
CWD = /media/JDK6_build_area/jdk6u23/control/make
TOPDIR = ../..
CONTROL_TOPDIR = ../../control
HOTSPOT_TOPDIR = ../../hotspot
J2SE_TOPDIR = ../../j2se
MOTIF_TOPDIR = ../../motif
Build Directives:
BUILD_HOTSPOT = true
BUILD_MOTIF
BUILD_J2SE
BUILD_DEPLOY
BUILD_INSTALL = false
Hotspot Settings:
HOTSPOT_BUILD_JOBS
HOTSPOT_OUTPUTDIR
= /media/JDK6_build_area/jdk6u23/control/build/linux-i586/hotspot/outputdir
HOTSPOT_EXPORT_PATH = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/hotspot/import
Bootstrap Settings:
BOOTDIR = /usr/lib/jvm/java-6-openjdk
ALT_BOOTDIR = /usr/lib/jvm/java-6-openjdk
BOOT_VER = 1.6 [requires at least 1.6]
MINIMUM_JDK_VERSION = 1.6.0
ALT_MINIMUM_JDK_VERSION =
OUTPUTDIR = /media/JDK6_build_area/jdk6u23/control/build/linux-i586
ALT_OUTPUTDIR = /media/JDK6_build_area/jdk6u23/control/build/linux-i586
ABS_OUTPUTDIR = /media/JDK6_build_area/jdk6u23/control/build/linux-i586
Build Tool Settings:
SLASH_JAVA = /java
ALT_SLASH_JAVA =
VARIANT = OPT
JDK_DEVTOOLS_DIR = /java/devtools
ALT_JDK_DEVTOOLS_DIR =
UNIXCOMMAND_PATH = /bin/
ALT_UNIXCOMMAND_PATH =
COMPILER_PATH = /usr/bin/
ALT_COMPILER_PATH =
DEVTOOLS_PATH = /usr/bin/
ALT_DEVTOOLS_PATH = /usr/bin
UNIXCCS_PATH = /usr/ccs/bin/
ALT_UNIXCCS_PATH =
USRBIN_PATH = /usr/bin/
ALT_USRBIN_PATH =
GCC29_COMPILER_PATH = /java/devtools/linux/gcc29/usr/
ALT_GCC29_COMPILER_PATH =
MOTIF_DIR = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/motif-i586
ALT_MOTIF_DIR = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/motif-i586
COMPILER_NAME = GCC
COMPILER_VERSION =
CC_VER = 4.4 [requires at least 3.2]
ZIP_VER = 3.0 [requires at least 2.2]
UNZIP_VER = 6.00 [requires at least 5.12]
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
TEMPDIR = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/tmp
Build Directives:
USE_ONLY_BOOTDIR_TOOLS =
USE_HOTSPOT_INTERPRETER_MODE =
PEDANTIC =
DEV_ONLY = true
J2RE_ONLY =
NO_IMAGES =
TOOLS_ONLY =
PARALLEL_COMPILES = true
PARALLEL_COMPILE_JOBS = 2
ALT_PARALLEL_COMPILE_JOBS =
FASTDEBUG =
COMPILER_WARNINGS_FATAL = false
COMPILER_WARNING_LEVEL =
INCREMENTAL_BUILD = false
CC_HIGHEST_OPT = -O3
CC_HIGHER_OPT = -O3
CC_LOWER_OPT = -O2
CXXFLAGS =
-fPIC -DCC_NOEX -W -Wall
-Wno-unused -Wno-parentheses
-fno-strict-aliasing -fPIC -W -Wall
-Wno-unused -Wno-parentheses
JAVA_BOOT = /usr/lib/jvm/java-6-openjdk/bin/java -client -Xmx512m -Xms256m
JAVAC_BOOT = /usr/lib/jvm/java-6-openjdk/bin/javac -J-XX:ThreadStackSize=768 -J-client -J-Xmx512m -J-Xms256m -J-Xbootclasspath/p:./../make/sun/javac/javac/gjc.jar -target 5
JAR_BOOT = /usr/lib/jvm/java-6-openjdk/bin/jar
JAVAH_BOOT = /usr/lib/jvm/java-6-openjdk/bin/javah -J-XX:ThreadStackSize=768 -J-client -J-Xmx512m -J-Xms256m -J-Xbootclasspath/p:./../make/sun/javac/javac/gjc.jar
JAVA = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/bin/java -client -Xmx512m -Xms256m
JAVAC = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/bin/javac -J-XX:ThreadStackSize=768 -J-client -J-Xmx512m -J-Xms256m
JAR = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/bin/jar
Build Platform Settings:
USER = rednaxelafx
PLATFORM = linux
ARCH = i586
LIBARCH = i386
ARCH_FAMILY = i586
ARCH_DATA_MODEL = 32
ARCHPROP = i386
LINUX_VERSION = Unknown linux
ALSA_VERSION = 1.0.23
OS_VERSION = 2.6.35-24-generic [requires at least 2.4.9-e.3]
OS_NAME = linux
TEMP_FREE_SPACE = 3056880
FREE_SPACE = 4614720
MB_OF_MEMORY = 2012
GNU Make Settings:
MAKE = make
MAKE_VER = 3.81 [requires at least 3.78]
MAKECMDGOALS = sanity
MAKEFLAGS = w -- ARCH_DATA_MODEL=32 ALT_MOTIF_DIR=/media/JDK6_build_area/jdk6u23/control/build/linux-i586/motif-i586 BUILD_MOTIF=true BUILD_HOTSPOT=true ALT_HOTSPOT_IMPORT_PATH=/media/JDK6_build_area/jdk6u23/control/build/linux-i586/hotspot/import ALT_OUTPUTDIR=/media/JDK6_build_area/jdk6u23/control/build/linux-i586 FULL_VERSION=1.6.0-internal-rednaxelafx_16_jan_-b00 JDK_BUILD_NUMBER=b00 BUILD_NUMBER=b00 MILESTONE=internal EXTERNALSANITYCONTROL=true HOTSPOT_IMPORT_CHECK=false HOTSPOT_BUILD_JOBS=2 ALT_DEVTOOLS_PATH=/usr/bin ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk SKIP_COMPARE_IMAGES=true BUILD_DEPLOY=false DEV_ONLY=true
SHELL = /bin/sh
Target Build Versions:
JDK_VERSION = 1.6.0
MILESTONE = internal
RELEASE = 1.6.0-internal
FULL_VERSION = 1.6.0-internal-rednaxelafx_16_jan_-b00
BUILD_NUMBER = b00
External File/Binary Locations:
USRJDKINSTANCES_PATH = /opt/java
JDK_IMPORT_PATH = /java/re/j2se/1.6.0/promoted/latest/binaries/linux-i586
ALT_JDK_IMPORT_PATH =
HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
ALT_HOTSPOT_DOCS_IMPORT_PATH =
HOTSPOT_IMPORT_PATH = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/hotspot/import
ALT_HOTSPOT_IMPORT_PATH = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/hotspot/import
HOTSPOT_CLIENT_PATH = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/hotspot/import/jre/lib/i386/client
ALT_HOTSPOT_CLIENT_PATH =
HOTSPOT_SERVER_PATH = /media/JDK6_build_area/jdk6u23/control/build/linux-i586/hotspot/import/jre/lib/i386/server
ALT_HOTSPOT_SERVER_PATH =
CACERTS_FILE = ./../src/share/lib/security/cacerts
ALT_CACERTS_FILE =
MOZILLA_HEADERS_PATH = /java/devtools/share/plugin
ALT_MOZILLA_HEADERS_PATH =
CUPS_HEADERS_PATH = /usr/include
ALT_CUPS_HEADERS_PATH =
Previous JDK Settings:
PREVIOUS_RELEASE_PATH = /java/re/j2se/1.5.0/archive/fcs/bundles/linux-i586
ALT_PREVIOUS_RELEASE_PATH =
PREVIOUS_JDK_VERSION = 1.5.0
ALT_PREVIOUS_JDK_VERSION =
PREVIOUS_JDK_FILE = jdk-1_5_0-linux-i586.tar.gz
ALT_PREVIOUS_JDK_FILE =
PREVIOUS_JRE_FILE = jdk-1_5_0-linux-i586.tar.gz
ALT_PREVIOUS_JRE_FILE =
WARNING: Your are not building DEPLOY workspace from
the control build. This will result in a development-only
build of the J2SE workspace, lacking the plugin and javaws binaries.
WARNING: Your are not building INSTALL workspace from
the control build. This will result in a development-only
build of the J2SE workspace, lacking the installation bundles
WARNING: Your build environment has the variable DEV_ONLY
defined. This will result in a development-only
build of the J2SE workspace, lacking the documentation
build and installation bundles.
WARNING: The official linux builds use OS version 2.4.9-e.3.
You appear to be using OS version 2.6.35-24-generic.
WARNING: The build is being done on Linux Unknown linux.
The official linux builds use Linux Advanced Server,
specifically Linux Advanced Server release 2.1AS.
The version found was '2.6.35-24-generic'.
WARNING: The directory HOTSPOT_DOCS_IMPORT_PATH=/NO_DOCS_DIR
does not exist, check your value of ALT_HOTSPOT_DOCS_IMPORT_PATH.
WARNING: The linux compiler must be version
Specifically the GCC
You appear to be using compiler version: 4.4
The compiler was obtained from the following location:
Please change your compiler.
WARNING: Importing CUPS from a system location
Sanity check passed.
make[1]: Leaving directory `/media/JDK6_build_area/jdk6u23/control/make'
apt-get install过的包及其传递依赖:
引用$ sudo apt-get install openjdk-6-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libice-dev libpthread-stubs0 libpthread-stubs0-dev libsm-dev libx11-dev
libxau-dev libxcb1-dev libxdmcp-dev libxt-dev x11proto-core-dev
x11proto-input-dev x11proto-kb-dev xtrans-dev
Suggested packages:
openjdk-6-demo openjdk-6-source visualvm
The following NEW packages will be installed:
libice-dev libpthread-stubs0 libpthread-stubs0-dev libsm-dev libx11-dev
libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-6-jdk
x11proto-core-dev x11proto-input-dev x11proto-kb-dev xtrans-dev
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 15.3MB of archives.
After this operation, 44.3MB of additional disk space will be used.
引用$ sudo apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
dpkg-dev fakeroot g++ g++-4.4 libalgorithm-diff-perl libalgorithm-merge-perl
libdpkg-perl libstdc++6-4.4-dev patch
Suggested packages:
debian-keyring g++-multilib g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg
libstdc++6-4.4-doc diffutils-doc
The following NEW packages will be installed:
build-essential dpkg-dev fakeroot g++ g++-4.4 libalgorithm-diff-perl
libalgorithm-merge-perl libdpkg-perl libstdc++6-4.4-dev patch
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,319kB of archives.
After this operation, 25.0MB of additional disk space will be used.
引用$ sudo apt-get install libasound2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
libasound2-doc
The following NEW packages will be installed:
libasound2-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 509kB of archives.
After this operation, 1,876kB of additional disk space will be used.
引用$ sudo apt-get install libcups2-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
comerr-dev krb5-multidev libgcrypt11-dev libgnutls-dev libgpg-error-dev
libgssrpc4 libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4 libkrb5-dev
libtasn1-3-dev zlib1g-dev
Suggested packages:
krb5-doc libgcrypt11-doc gnutls-doc gnutls-bin guile-gnutls krb5-user
The following NEW packages will be installed:
comerr-dev krb5-multidev libcups2-dev libgcrypt11-dev libgnutls-dev
libgpg-error-dev libgssrpc4 libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4
libkrb5-dev libtasn1-3-dev zlib1g-dev
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,968kB of archives.
After this operation, 6,136kB of additional disk space will be used.
引用$ sudo apt-get install gawk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 530kB of archives.
After this operation, 2,150kB of additional disk space will be used.
引用$ sudo apt-get install libmotif-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
The following NEW packages will be installed:
libmotif-dev libmotif3
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,143kB of archives.
After this operation, 12.1MB of additional disk space will be used.
引用$ sudo apt-get install libxrender-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
x11proto-render-dev
The following NEW packages will be installed:
libxrender-dev x11proto-render-dev
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 44.1kB of archives.
After this operation, 217kB of additional disk space will be used.
引用$ sudo apt-get install xorg-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libdmx-dev libdmx1 libexpat1-dev libfontconfig1-dev libfontenc-dev
libfreetype6-dev libfs-dev libpciaccess-dev libpixman-1-dev libxaw7-dev
libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev
libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev
libxmu-headers libxmuu-dev libxpm-dev libxrandr-dev libxres-dev libxss-dev
libxtst-dev libxv-dev libxvmc-dev libxxf86dga-dev libxxf86vm-dev
x11proto-bigreqs-dev x11proto-composite-dev x11proto-damage-dev
x11proto-dmx-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-fonts-dev
x11proto-gl-dev x11proto-randr-dev x11proto-record-dev x11proto-resource-dev
x11proto-scrnsaver-dev x11proto-video-dev x11proto-xcmisc-dev
x11proto-xext-dev x11proto-xf86bigfont-dev x11proto-xf86dga-dev
x11proto-xf86dri-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev
xserver-xorg-dev
The following NEW packages will be installed:
libdmx-dev libdmx1 libexpat1-dev libfontconfig1-dev libfontenc-dev
libfreetype6-dev libfs-dev libpciaccess-dev libpixman-1-dev libxaw7-dev
libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev
libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev
libxmu-headers libxmuu-dev libxpm-dev libxrandr-dev libxres-dev libxss-dev
libxtst-dev libxv-dev libxvmc-dev libxxf86dga-dev libxxf86vm-dev
x11proto-bigreqs-dev x11proto-composite-dev x11proto-damage-dev
x11proto-dmx-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-fonts-dev
x11proto-gl-dev x11proto-randr-dev x11proto-record-dev x11proto-resource-dev
x11proto-scrnsaver-dev x11proto-video-dev x11proto-xcmisc-dev
x11proto-xext-dev x11proto-xf86bigfont-dev x11proto-xf86dga-dev
x11proto-xf86dri-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xorg-dev
xserver-xorg-dev
0 upgraded, 54 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,389kB of archives.
After this operation, 17.0MB of additional disk space will be used.
引用$ sudo apt-get install m4
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 276kB of archives.
After this operation, 655kB of additional disk space will be used.
引用$ sudo apt-get install x11proto-print-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
x11proto-print-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.3kB of archives.
After this operation, 98.3kB of additional disk space will be used.
引用$ sudo apt-get install xprint
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libaudit0 libxfontp1 libxprintapputil1 libxprintutil1 xbase-clients
xprint-common xprint-utils
The following NEW packages will be installed:
libaudit0 libxfontp1 libxprintapputil1 libxprintutil1 xbase-clients xprint
xprint-common xprint-utils
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,787kB of archives.
After this operation, 4,633kB of additional disk space will be used.
引用$ sudo apt-get install xutils-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
xutils-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 314kB of archives.
After this operation, 1,765kB of additional disk space will be used.
====================================================================
追记
刚build了一个最新的hotspot-comp出来,顺便加到这帖里。
源码地址:
要先装上Mercurial来抓源码。然后build之前要确定装了Ant。
下好源码后
chmod +x get_source.sh
./get_source.sh
make LANG=C ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk ALT_DEVTOOLS_PATH=/usr/bin SKIP_FASTDEBUG_BUILD=false HOTSPOT_BUILD_JOBS=2
如果jaxp和jaxwa的build出错的话在它们各自的build.properties文件里加上allow.downloads=true
jdk目录build的时候在javadoc上出了点问题,所以把jdk/make/Makefile里的docs整个注释掉了
64-bit: ARCH_DATA_MODEL=64
Charles Nutter's build script: /1148321
make -C make ALT_BOOTDIR=~/sdk/jdk1.8.0b49 ALT_SLASH_JAVA=$HOME/java LANG=C HOTSPOT_BUILD_JOBS=4 ARCH_DATA_MODEL=64 all_fastdebug
make sure this symlink is live: ~/java/re/j2se/1.8.0/promoted/latest/binaries/linux-amd64 -& some valid JDK8 installation
$ ln -s -T ~/sdk/jdk1.8.0 linux-amd64
在64位Ubuntu上构建32位HotSpot VM的话,
ARCH_DATA_MODEL=32
可能需要额外装 ia32-libs libc6-dev-i386 lib32stdc++6 g++-multilib 等
cajon 写道^_^,刚装上Ubuntu 10.10,上Google Reader看到的第一个帖子。巧啊~~~可惜完全看不懂 (*^__^*) 嘻嘻……另外,Ubuntu自带的中文输入法很有意思。Colin老大好久不见~Ubuntu默认装的中文输入法真囧,打“haha”就得到了“^_^”…五笔路过。。挺好用的。。^_^
^_^,刚装上Ubuntu 10.10,上Google Reader看到的第一个帖子。巧啊~~~可惜完全看不懂 (*^__^*) 嘻嘻……另外,Ubuntu自带的中文输入法很有意思。Colin老大好久不见~Ubuntu默认装的中文输入法真囧,打“haha”就得到了“^_^”…
2 下一页 &
RednaxelaFX
浏览: 1620533 次
来自: 海外
R大。你说 “如果图里看得不清楚的话,我再用文字重新写一遍(两 ...
RednaxelaFX 写道playboy0651140 写道 ...
a11ght 写道我发现个问题,我在mac上禁用掉指针压缩,即 ...
a11ght 写道我发现个问题,我在mac上禁用掉指针压缩,即 ...
我发现个问题,我在mac上禁用掉指针压缩,即jdb -XX:- ...

我要回帖

更多关于 java高级编程 jdk6版 的文章

 

随机推荐