最近在看《深入学习 Java 虚拟机》第 3 版,在 Mac arm64 上编译 OpenJDK12 时遇到错误!

350 天前
 summerlv

最近在看《深入学习 Java 虚拟机》第 3 版,在 Mac arm64 上编译 OpenJDK12 时遇到错误!始终解决不了,所以才来求助各位前辈!错误如下:

checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for stdio.h... (cached) yes
checking size of int *... 8
configure: The tested number of bits in the target (64) differs from the number of bits expected to be found in the target (32)
configure: error: Cannot continue.
/Users/itisummer/Downloads/OpenJDK12/build/.configure-support/generated-configure.sh: line 84: 5: Bad file descriptor
configure exiting with result code 1

我使用的编译命令如下:

bash configure --disable-warnings-as-errors --with-jvm-variants=server --with-debug-level=slowdebug --with-sysroot="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" 

如果跟我有遇到相同问题并且已经解决的还望指导指导,不胜感激!!!

1565 次点击
所在节点    程序员
8 条回复
tylinux
350 天前
可以参考一下 homebrew 里 openjdk 的编译命令
summerlv
349 天前
@tylinux 你好,为什么是 homebrew 里的 OpenJDK 编译命令?
summerlv
349 天前
@tylinux 我没有明白产生上面错误的原因是什么
imKiva
349 天前
出现这个错误多半和你用的 shell 有关。顺便建议把这一行和周围相关的代码贴出来,方便其他人分析问题:

/Users/itisummer/Downloads/OpenJDK12/build/.configure-support/generated-configure.sh: line 84
imKiva
349 天前
而且最好给出你的编译参数.....
imKiva
349 天前
@imKiva 不好意思,没看到最后一部分,手动忽略吧....
youknowiam
349 天前
几年前用 macOS 编译过 jdk11 ,https://github.com/zzyandzzy/openjdk-jdk11u ,你的情况没遇到过
tylinux
348 天前
@summerlv `The tested number of bits in the target (64) differs from the number of bits expected to be found in the target (32)` 这个错误看起来是因为编译脚本没有适配 Apple Silicon 的 64 位架构,尝试生成 32 位的编译命令。参考 homebrew 是因为它上边的软件大部分都适配了,是确定可以在 Apple Silicon 上编译通过的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/999007

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX