问题
前几天在华为openEuler 20.03 64bit with ARM系统使用javaCV相关的jar包程序时,正常运行。但换成EulerOS 2.8 64bit with ARM系统后,却发现如下错误:
Caused by: java.lang.UnsatisfiedLinkError: *** .jar/org/bytedeco/opencv/linux-arm64/libjniopencv_highgui.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1088)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1685)
... 15 more
解决办法
由于已经在openEuler正常运行过,说明aarch64平台相关的依赖包是已经打包进jar包的,考虑是商业版系统缺少了gtk2的相关库,需要执行如下命令进行安装:
yum install gtk2
安装之后再执行jar就正常运行了!
本文讲述了在从openEuler迁移到EulerOS 2.8 ARM环境下,JavaCV jar包遇到的 UnsatisfiedLinkError,原因在于缺失libgtk-x11-2.0.so.0,通过yum安装解决并确保Java程序正常运行。

1381

被折叠的 条评论
为什么被折叠?



