当前位置: 首页 > 工具软件 > jffi > 使用案例 >

Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by /tmp/jffi*.

滕星纬
2023-12-01

1.问题,arm环境使用com.spotify.docker-client链接docker报错

Caused by: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi10783088860516552098.so: Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by /tmp/jffi10783088860516552098.so)
        at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
        at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
        at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
        at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617)
        at java.base/java.lang.Runtime.load0(Runtime.java:767)
        at java.base/java.lang.System.load(System.java:1834)
        at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:371)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:258)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:444)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:398)
        at com.kenai.jffi.Init.load(Init.java:68)
        at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
        at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)
        at com.kenai.jffi.Foreign.getInstance(Foreign.java:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)

 原因

看报错说找不到文件/tmp/jffi10783088860516552098.so文件是必须的,其实是ld-linux-aarch64.so.1文件找不到,该文件是arm系统文件,缺少该文件多半是使用的openjdk是自己改造过的,导致缺少文件,可以重新找openjdk作为基础镜像打包;

结果

 我们是使用openjdk11.0.7作为基础镜像,重新打包后解决了此问题!

 类似资料: