You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GraalVM构建Spring Boot镜像后运行报错:无法打开/lib64/ld-linux-x86-64.so.2

解决GraalVM原生镜像运行报错问题

问题原因

你遇到的qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2'错误,本质是镜像架构与运行主机架构不匹配:生成的x86_64架构镜像在ARM架构主机(比如Apple Silicon Mac)上运行时,qemu模拟器找不到对应架构的系统动态链接库。

解决方案

1. 构建时指定匹配主机架构的镜像

直接修改bootBuildImage命令,指定支持多架构的构建器和对应架构参数:

./gradlew bootBuildImage --imageName=graalvmdemo:v001 --builder=paketobuildpacks/builder-jammy-buildpackless-native:latest --env BP_NATIVE_IMAGE_ARCHITECTURE=aarch64
  • 如果你是x86_64架构主机,将BP_NATIVE_IMAGE_ARCHITECTURE的值改为x86_64即可。

2. 在Gradle配置中自动适配主机架构

在build.gradle中添加以下配置,让构建任务自动根据当前主机架构选择对应参数:

tasks.named('bootBuildImage') {
    builder = 'paketobuildpacks/builder-jammy-buildpackless-native:latest'
    environment = [
        'BP_NATIVE_IMAGE_ARCHITECTURE': System.getProperty('os.arch') == 'aarch64' ? 'aarch64' : 'x86_64'
    ]
}

之后直接运行./gradlew bootBuildImage --imageName=graalvmdemo:v001即可生成匹配主机架构的镜像。

3. 验证镜像架构

构建完成后,执行以下命令确认镜像架构与主机一致:

docker images --format "{{.Repository}}:{{.Tag}} {{.Architecture}}"

当镜像架构和主机架构匹配时,运行镜像就不会再出现链接库找不到的错误。

内容的提问来源于stack exchange,提问作者fsk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:01:15