快速业务通道

OpenJDK:构建JDK - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
   included in the build.      Please check your access to       /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-i586/lib/sa-jdi.jar      and/or check your value of ALT_HOTSPOT_IMPORT_PATH. ERROR: You do not have access to valid Cups header files.     Please check your access to       /usr/include/cups/cups.h     and/or check your value of ALT_CUPS_HEADERS_PATH,     CUPS is frequently pre-installed on many systems,     or may be downloaded from http://www.cups.org ERROR: HOTSPOT_CLIENT_PATH does not point to a valid HotSpot VM.     Please check your access to       /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-i586/jre/lib/i386/client/libjvm.so     and/or check your value of ALT_HOTSPOT_CLIENT_PATH. ERROR: HOTSPOT_SERVER_PATH does not point to a valid HotSpot VM.     Please check your access to       /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-i586/jre/lib/i386/server/libjvm.so     and/or check your value of ALT_HOTSPOT_SERVER_PATH. Exiting because of the above error(s). 

OpenJDK:构建JDK(5)

时间:2011-07-22

按顺序继续查看实际的错误消息,下一个问题似乎是默认情况下 Ubuntu 将 LANG 环境变量设置为 en_US.UTF-8,构建脚本想要设置为 C。Ubuntu 刚好在此。在 2007 年,UTF-8 任何人做任何事都应使用的惟一默认编码。尽管如此,我们进行了修复并继续前进:

$ export LANG=C

TODO: 弄清楚构建脚本为什么坚持使用 C 作为 LANG。我怀疑两种基本不同的属性(自然语言和编程语言)在相同的环境变量名称上发生了冲突。

下一个错误是:

HOTSPOT_IMPORT_PATH=/NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-i586 does not exist, check your value of ALT_HOTSPOT_IMPORT_PATH.

到底应该是什么呢?正式构建指令 没有提到。看起来实际上应该是 Java 7 的事,甚至没有引导程序 JDK 的份。或许我在构建 JDK 之前必须构建 HotSpot?

又读了 15 分钟不同的博客之后,我发现 Sun 发布的构建指令是错误的(大吃一惊)。他们谈论的“顶层 Makefile”根本不存在。相反,我必须在 control/make 目录下运行 makefile 并应该构建一切:openjdk、hotspot 等等一切。我们来试一下:

$ make sanity make[1]: Entering directory `/home/jars/openjdk/jdk/make'' make[2]: Entering directory `/home/jars/openjdk/jdk/make/tools/freetypecheck'' freetypecheck.c: In function ''main'': freetypecheck.c:45: warning: comparison is always false due to limited range of data type freetypecheck.c:54: warning: comparison is always false due to limited range of data type make[2]: Leaving directory `/home/jars/openjdk/jdk/make/tools/freetypecheck'' make[1]: Leaving directory `/home/jars/openjdk/jdk/make''

该死,我以为我已经修复了 freetype 问题。但是仔细一看,似乎这些消息只是针对 Sun 包括在构建中的 freetypecheck C 程序的一个问题,而非 freetype 本身有问题。相关的代码行是:

if (strcmp(v, QUOTEMACRO(REQUIRED_FREETYPE_VERSION)) < 0) {     printf("Failed: headers are too old.\n");   }

and

  if (strcmp(v, QUOTEMACRO(REQUIRED_FREETYPE_VERSION)) < 0) {     printf("Failed: too old library.\n");   }

似乎是如果这个测试总是失败,那么 freetype 就是好的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号