使JDK 6u17 Build出现问题

时间:2013-03-04 21:40:03

标签: makefile java java-6 building

我正在尝试构建一个旧版本的JDK用于工作,并且在运行make dev-sanity时遇到了障碍。好吧,有几个路障,但我设法绕过所有这些但是这个。具体来说,我正在尝试从源JAR构建一个64位版本的JDK 1.6u17:

  

TL; DR :我正在从源代码构建JDK6u17,我在dev-sanity的{​​{1}}目标中遇到错误。我在构建自述文件中列出了所有软件及其版本,因此我认为这是一个环境变量问题。

软件版本信息

  • Windows 7,amd64处理器
  • make版本为cl.exe
  • 14.00.50727.762版本为link.exe
  • Java引导程序是JDK 1.7u15
  • 8.00.50727.762版本为msvcrt.dll
  • Cygwin是当前版本
  • 7.0.7601.17744是GNU make的Cygwin构建版本make,它支持DOS路径。我也尝试过官方存储库中的版本3.81和3.82,因为它们没有DOS路径支持而无法工作,以及修补了3.81和3.82版本的DOS路径支持,这两个版本都给了我相同的错误输出为3.80。

环境变量

  • 3.80-1 - 包括编译工具,bootstrap JDK,Cygwin的UNIX工具,以及我路径上已经存在的所有其他内容,按顺序。
  • PATH - 使用Microsoft SDK的LIB文件夹中的SetEnv.cmd /X64设置为用户环境变量以获取值
  • Bin - 使用Microsoft SDK的INCLUDE文件夹中的SetEnv.cmd /X64设置为用户环境变量以获取值
  • Bin - 设置为ALT_COMPILER_PATH(使用短路径以避免空格问题)
  • C:\PROGRA~1\MICROS~2\Windows\v6.0\VC\Bin\x64\ - ALT_BOOTDIR(JDK 7路径)
  • C:\PROGRA~1\Java\JDK17~1.0_1\ - ALT_MSVCRT_DLL_PATH(msvcrt.dll文件位于我的System32文件夹中)
  • C:\Windows\System32\ - 只需设置为ALT_DXSDK_PATH
  • 的短路径

我可以打开Cygwin并使用以下命令启动制作过程:

DXSDK_DIR

但随后出现以下输出错误:

make dev-sanity ARCH_DATA_MODEL=64 ARCH=amd64

从我可以看出,看起来我可能在某个地方有一个糟糕或缺失的环境变量,因为看起来命令没有正确执行,也许某些变量没有被解析。

请注意,我们这样做是为了获得带有局部变量的调试jar,似乎快速调试罐不再适用于6u17。如果有人有6u17 fastdebug链接,如果这意味着我不需要编译任何东西,我也会接受它。

如果有人想要$ cd [jdk-src-root]/control/make $ make dev-sanity ARCH_DATA_MODEL=64 ARCH=amd64 cd ../../control/make make sanity DEV_ONLY=true make[1]: Entering directory `/cygdrive/c/Users/bsaltz/jdk6u17src/control/make' make[2]: Entering directory `/cygdrive/c/Users/bsaltz/jdk6u17src/deploy/make' ../make/common/Defs.gmk:52: /make/common/Defs.gmk: No such file or directory make[2]: -p: Command not found make[2]: -p: Command not found ../make/common/Defs-windows.gmk:9: /make/common/Defs-windows.gmk: No such file or directory ../../j2se/make/common/Defs-windows.gmk:16: /Defs.gmk: No such file or directory /bin/sh: - : invalid option Usage: /bin/sh [GNU long option] [option] ... /bin/sh [GNU long option] [option] script-file ... [ ... More /bin/sh usage output ] /bin/sh: - : invalid option Usage: /bin/sh [GNU long option] [option] ... /bin/sh [GNU long option] [option] script-file ... [ ... More /bin/sh usage output ] /bin/sh: #define: command not found /bin/sh: {print $3}: command not found /bin/sh: -n: command not found /bin/sh: - : invalid option /bin/sh: - : invalid option /bin/sh: -n: command not found ../../j2se/make/common/shared/Sanity.gmk:97: /Sanity-Settings.gmk: No such file or directory make[2]: -p: Command not found make[2]: *** No rule to make target `/Sanity-Settings.gmk'. Stop. make[2]: Leaving directory `/cygdrive/c/Users/bsaltz/jdk6u17src/deploy/make' make[1]: *** [deploy-sanity] Error 2 make[1]: Leaving directory `/cygdrive/c/Users/bsaltz/jdk6u17src/control/make' make: *** [dev-sanity] Error 2 输出,请告诉我,我会把它贴在pastebin上。

0 个答案:

没有答案