美文网首页
GraalVM Native Image 报错 /usr/bin

GraalVM Native Image 报错 /usr/bin

作者: 雨中星辰0 | 来源:发表于2024-09-23 15:16 被阅读0次
作者 时间 说明
雨中星辰 2024-09-24

概述

使用native-image -jar xx.jar构建原生可执行文件时失败,检查错误当前当前目录下的错误日志svm_err_b_20240924T113653.693_pid27346.md

发现如下错误:

/usr/bin/ld: final link failed: 错误的值
collect2: error: ld returned 1 exit status
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageViaCC.handleLinkerFailure(NativeImageViaCC.java:202)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageViaCC.runLinkerCommand(NativeImageViaCC.java:152)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.image.NativeImageViaCC.write(NativeImageViaCC.java:118)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:741)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:550)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:539)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:721)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:143)
        at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:98)

环境说明

操作系统:凝思6.0.80(debian 8)

GraalVM 版本: graalvm-jdk-21.0.4+8.1

系统架构:AMD64

gcc版本:4.9.2

ld版本:2.25

问题原因

2.25版本的binutil(ld)不兼容

处理办法

  1. 升级binutil为2.27+

    1. 使用源码安装
      1. 下载源码压缩包:wget https://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.gz
      2. 解压:tar -zxvf binutils-2.27.tar.gz
      3. 进入目录:cd binutils-2.27
      4. 配置:./configure --prefix=/usr
      5. 编译:make
      6. 安装:make install
    2. 使用deb包安装(debian操作系统)
      1. 下载软件包(由于没有找到2.27的deb包,选择了最接近的2.28):https://archive.debian.org/debian/pool/main/b/binutils/binutils_2.28-5_amd64.deb
      2. 安装:dpkg -i binutils_2.28-5_amd64.deb
  2. 更换debian 9及以上的操作系统

引用

  1. https://github.com/oracle/graal/issues/7034

相关文章

网友评论

      本文标题:GraalVM Native Image 报错 /usr/bin

      本文链接:https://www.haomeiwen.com/subject/dyhfrjtx.html