我想为 M1 MacBook 编译 OpenJDK 11。
首先,我尝试使用 Zulu JDK,但我没有找到编译它的方法。
然后,我尝试尝试在 M1 上编译 OpenJDK,但是当我运行 sh configure
时报告错误。
错误是:
配置:目标中测试的位数 (64) 与预期在目标中找到的位数 (32) 不同 配置:错误:无法继续。
那么,我该如何编译呢?
原文由 rainbowecho 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想为 M1 MacBook 编译 OpenJDK 11。
首先,我尝试使用 Zulu JDK,但我没有找到编译它的方法。
然后,我尝试尝试在 M1 上编译 OpenJDK,但是当我运行 sh configure
时报告错误。
错误是:
配置:目标中测试的位数 (64) 与预期在目标中找到的位数 (32) 不同 配置:错误:无法继续。
那么,我该如何编译呢?
原文由 rainbowecho 发布,翻译遵循 CC BY-SA 4.0 许可协议
8 回答6.4k 阅读
1 回答4.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.3k 阅读
2 回答3.9k 阅读
3 回答1.7k 阅读✓ 已解决
1 回答2k 阅读✓ 已解决
tl;博士
不要尝试编译 OpenJDK。代码库庞大而复杂。不需要,因为 其他人提供二进制文件 和安装程序。
对于使用 Apple Silicon 而不是 Intel x86-64 的 Mac,我建议从几家供应商中的任何一家获取 2021-09 发布的 macOS / AArch64 的 Java 17 分发版。
或者,使用由不同供应商移植到 Apple Silicon 的早期版本的 Java 构建。例如,Azul Systems 宣布 2020-11 计划为基于 ARM 的 Apple Silicon Mac 发布 OpenJDK 8 和 11 版本。我看到 该公司现在可以在 Intel Mac 和 Apple Silicon Mac 上下载 Java 11.0.13+8 。
细节
我们中很少有人编译过庞大而复杂的 OpenJDK 代码库。相反,我们会寻找提供构建和安装程序的几家供应商中的任何一家。
Java 17 于 2021 年 9 月发布。 OpenJDK 正式支持 Apple Silicon 上的 macOS: JEP 391:macOS/AArch64 端口。您可以选择来自多个供应商的构建/安装程序,例如 SAP、Red Hat/IBM、BellSoft、Azul Systems、Oracle、Adoptium/AdoptOpenJDK、Microsoft、Amazon、Pivotal 等。这些构建/安装程序将主要或完全基于 OpenJDK 代码库。
仅供参考,Java 17 是最新 的长期支持 (LTS) 版本,将得到多年支持。
我本人一直在使用 IntelliJ 2021.x 和 Maven on Big Sur 的 M1 MacBook Pro 上首先使用早期访问 Java 17,现在使用官方 Java 17 版本。运行良好,没有问题。 Java 18 Early Access 现在可 用于 Intel Mac 和 Apple Silicon Mac。
如 评论所述,您的特定错误可能是由于您针对 32 位 ARM 而不是 Apple 用于其 M1 芯片 的 64 位 ARM 进行编译。
如果您坚持尝试编译 OpenJDK ,我建议您检查 Adoptium/AdoptOpenJDK 上的开源工具。在 OpenJDK 站点上用于构建早期访问版本的工具也可能是开源的,但我不确定。