快速业务通道

OpenJDK:构建JDK - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
快照开始构建,来解开整个过程的所有疙瘩,然后在您确信自己的设置之后,前进到版本控制中最新的部分。

编译

现在,下载以下软件包,并解压它们:

$ unzip openjdk-7-ea-src-b23-30_oct_2007.zip   inflating: openjdk/control/make/Makefile    inflating: openjdk/control/make/README    inflating: openjdk/control/make/jprt.config    inflating: openjdk/control/make/jprt.properties    inflating: openjdk/control/make/make/Defs-internal.gmk    inflating: openjdk/control/make/make/README.pre-components    ...

然后,将二进制插件 JAR 文件移动到一个方便的目录中。在 Linux 中,默认目录是 /opt/java/openjdk-binary-plugs。在 Solaris 中,默认目录是 /usr/jdk/instances/openjdk-binary-plugs。在 Solaris 中,默认目录是 C:\openjdk-binary-plugs. 可以将 JAR 置于您喜欢的其他位置,但是在构建之前,必须设置 ALT_BINARY_PLUGS_PATH 环境变量指向此位置。

将仅用于构建的二进制插件分布到太多位置是一种愚蠢的做法。由于这是一个开源项目,任何人都能修复问题,所以将此作为我们的第一个 TODO:

TODO:重写构建文件,以便它首先查找其他源码所在的标准 openjdk/binary-plugs 目录。

事实上,二进制插件真正并没有多大,因此只将其全部分布在第一个位置的源码包中可能很明智。

解压后的 openjdk 目录包含一些 readme 文件和各个子项目的目录,其中包括 jdk、hotspot、langtools、jaxws 和 jaxp。这些目录应该能够单独构建 ,但是我曾这样做,却没有成功。

生成 Make 文件

要构建 JDK,需要制作 jdk_generic_profile.sh 可执行脚本并运行它。在顶层 openjdk 目录中,键入:

$ chmod +x ./jdk/make/jdk_generic_profile.sh $ ./jdk/make/jdk_generic_profile.sh

多半可能,这将失败。第一次我这样做,得到如下消息:

WARNING: Cannot access ALT_BOOTDIR=/opt/java/jdk1.6.0 WARNING: Missing ALT_BINARY_PLUGS_PATH: /opt/java/openjdk-binary-plugs

我已经安装了这些软件,但是 makefile 没有在预期的正确位置找到它们。ALT_BINARY_PLUGS_PATH 和 ALT_BOOTDIR 环境变量需要分别设置为 JDK 的安装位置和二进制插件目录。所以我这样做了:

$ export ALT_BOOTDIR=/usr/local/java; $ export ALT_BINARY_PLUGS_PATH=~/plugs

然后,jdk_generic_profile 脚本运行并创建 makefile。

OpenJDK:构建JDK(3)

时间:2011-07-22

完整性检查

在下一个源码库中,可能有顶层 makefile, 但是如果使用 b23,则需要更改为 control/make 目录。然后,在您的构建环境中使用 make sanity 进行完整性检查:

$ cd control/make $ make sanity

这将警告您一些忘记安装的软件和忘记设置的环境变量。下面是我的第一次完整性检查的结果:

$ make sanity /bin/sh: /usr/bin/gawk: not found /bin/sh: /usr/bin/gawk: not found /bin/sh: /NOT-SET/devtools/share/ant/latest/bin/ant: not found /bin/sh: /NOT-SET/devtools/share/findbugs/latest/bin/findbugs: not found ../make/common/shared/Sanity-Settings.gmk:121: WARNING: ANT_VER should not be empty [Sanity-Settings.gmk] ../make/common/shared/Sanity-Settings.gmk:122: WARNING: FINDBUGS_VER should not be empty [Sanity-Settings.gmk] ../make/common/shared/Sanity-Settings.gmk:191: WARNING: TEMP_FREE_SPACE should not be empty [Sanity-Settings.gmk] ../make/common/shared/Sanity-Settings.gmk:192: WARNING: FREE_SPACE should not be empty [Sanity-Settings.gmk] ../build/linux-i586/tmp/alsaversioncheck.c:1:28: err

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号