java - 在将 openjdk 11u 交叉编译为 aarch64 时出错
问题描述
我正在尝试将 openjdk 11u 交叉编译为 aarch64。我正在使用以下命令:
bash configure --openjdk-target=aarch64-linux-gnu --disable-warnings-as-errors
接下来我使用make
命令编译openjdk,但我得到以下输出错误:
错误:目标“默认(爆炸图像)”的构建失败 配置“linux-aarch64-normal-server-release”(退出代码 2) === 此处重复的失败命令的输出 === * 对于目标hotspot_variant-server_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link: /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /mnt/c/Users/ACER/downloads/jdk11-source/build/linux-aarch64-normal-server-release/hotspot/variant-server/libjvm/objs/macroAssembler_aarch64.o: 在函数“RegSet::operator-(RegSet) const”中: /mnt/c/Users/ACER/downloads/jdk11-source/src/hotspot/cpu/aarch64/register_aarch64.hpp:239: 未定义对“JavaThread::aarch64_get_thread_helper()”的引用 /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /mnt/c/Users/ACER/downloads/jdk11-source/build/linux-aarch64-normal-server-release/hotspot/variant-server/libjvm/objs/macroAssembler_aarch64.o: 在函数“MacroAssembler::push(RegSet, RegisterImpl*)”中: /mnt/c/Users/ACER/downloads/jdk11-source/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp:518: 未定义对“JavaThread::aarch64_get_thread_helper()”的引用 collect2:错误:ld 返回 1 个退出状态 * 对于目标hotspot_variant-server_libjvm_objs_BUILD_LIBJVM_link:/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /mnt/c/Users/ACER/downloads/jdk11-source/build/linux-aarch64-normal-server-release/hotspot/variant-server/libjvm/objs/macroAssembler_aarch64.o: 在函数“RegSet::operator-(RegSet) const”中: /mnt/c/Users/ACER/downloads/jdk11-source/src/hotspot/cpu/aarch64/register_aarch64.hpp:239: 未定义对“JavaThread::aarch64_get_thread_helper()”的引用 /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /mnt/c/Users/ACER/downloads/jdk11-source/build/linux-aarch64-normal-server-release/hotspot/variant-server/libjvm/objs/macroAssembler_aarch64.o: 在函数“MacroAssembler::push(RegSet, RegisterImpl*)”中: /mnt/c/Users/ACER/downloads/jdk11-source/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp:518: 未定义对“JavaThread::aarch64_get_thread_helper()”的引用 collect2:错误:ld 返回 1 个退出状态 * /mnt/c/Users/ACER/downloads/jdk11-source/build/linux-aarch64-normal-server-release/make-support/failure-logs 中提供的所有命令行。 === 重复输出结束 === 没有发现失败目标的迹象。提示:尝试搜索构建 记录“] 错误”。提示:请参阅 doc/building.html#troubleshooting 协助。 制作[1]:*** [/mnt/c/Users/ACER/downloads/jdk11-source/make/Init.gmk:305: 主] 错误 2 品牌:*** [/mnt/c/Users/ACER/downloads/jdk11-source/make/Init.gmk:186:默认] 错误 2
我不知道如何解决这个错误。
解决方案
推荐阅读
- c++ - 说“内在”只是对编译器的建议是否正确?
- go - 将指针传递给接口时函数抛出错误?
- reactjs - 在 createStackNavigators 中的抽屉路径中获取图标 initialRoute 嵌套在 createDrawerNavigator 中
- c# - 获取特定应用程序的屏幕截图(Android 模拟器)
- unity3d - Unity 中的 ThreeJS 着色器
- python - 使用 pybind11,如何将我的代码拆分为多个模块/文件?
- regex - 如何用一个正则表达式提取字符串?
- python - 如何使用 SQLAlchemy 将新记录插入到有关每个现有数据的关联表中
- java - java selenium - 导航到分页表上未显示的页码
- jms - 如果在带有 XA 和 RA 的 MDB 上没有提交待处理,ActiveMQ 会丢失消息