cssxsh / mirai-skia-plugin

Mirai Console Skiko/Skia 图像库前置插件
GNU Affero General Public License v3.0
34 stars 1 forks source link

报错:java.lang.UnsatisfiedLinkError:(省略了中间部分) libgif-linux-x64.so: invalid ELF header #3

Closed YuanNing-96 closed 2 years ago

YuanNing-96 commented 2 years ago

完整报错:

OpenJDK 64-Bit Server VM warning: You have loaded library /home/Programs/mirai/data/xyz.cssxsh.mirai.plugin.mirai-skia-plugin/lib/libgif-linux-x64.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
2022-07-18 10:34:09 E/mirai-skia-plugin: Exception in coroutine Plugin xyz.cssxsh.mirai.plugin.mirai-skia-plugin of mirai-skia-plugin
java.lang.UnsatisfiedLinkError: /home/Programs/mirai/data/xyz.cssxsh.mirai.plugin.mirai-skia-plugin/lib/libgif-linux-x64.so: /home/Programs/mirai/data/xyz.cssxsh.mirai.plugin.mirai-skia-plugin/lib/libgif-linux-x64.so: invalid ELF header
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(Unknown Source)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(Unknown Source)
    at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.base/java.lang.Runtime.load0(Unknown Source)
    at java.base/java.lang.System.load(Unknown Source)
    at mirai-skia-plugin-1.1.4.mirai2.jar//xyz.cssxsh.gif.Library.loadLibraryOrCopy(Library.kt:26)
    at mirai-skia-plugin-1.1.4.mirai2.jar//xyz.cssxsh.gif.Library.load$mirai_skia_plugin(Library.kt:65)
    at mirai-skia-plugin-1.1.4.mirai2.jar//xyz.cssxsh.mirai.skia.MiraiSkiaDowloaderKt.loadJNILibrary(MiraiSkiaDowloader.kt:236)
    at mirai-skia-plugin-1.1.4.mirai2.jar//xyz.cssxsh.mirai.skia.MiraiSkiaPlugin$loadJob$1.invokeSuspend(MiraiSkiaPlugin.kt:25)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

插件版本为:mirai-skia-plugin-1.1.4.mirai2.jar

系统为ubuntu20.04.4LTS的server版 mirai版本信息为 : 2022-07-18 10:40:53 I/main: Backend: version 2.12.0, built on 2022-07-03 02:57:58.

启动参数为:$JAVA_BINARY -Djava.awt.headless=true -jar mcl.jar $*

启动方式信息为:[INFO] iTXTech Mirai Console Loader version 2.1.0-71ec418

plugins里的插件都有 bilibili-dynamic-mirai-plugin-3.0.0-BETA3.mirai2.jar chat-command-0.5.1.jar mcl-addon-2.0.2.jar mirai-skia-plugin-1.1.4.mirai2.jar

报错情景:与bilibili-dynamic-mirai-plugin-3.0.0-BETA3.mirai2.jar插件一起导入这个插件之后。第一次启动时就报错。不修改东西,重新启动也没有解决问题。删除data/xyz.cssxsh.mirai.plugin.mirai-skia-plugin/lib文件夹,重新./mcl进行启动时,仍然报这个错,

YuanNing-96 commented 2 years ago

通过cat命令简单查看了libgif-linux-x64.so文件,发现文件内容基本符合html格式,于是将.so后缀更改为.html,使用chrome打开了这个文件,从chrome渲染好的界面的文字部分,复制出来的内容大概为

Checking your browser before accessing download.fastgit.org.
[table](https://lagungroen.com/telephonequinquenni.php?url=9937)
This process is automatic. Your browser will redirect to your requested content shortly.
Please allow up to 5 seconds…
DDoS protection by [Cloudflare](https://www.cloudflare.com/5xx-error-landing/)

以下为我的目录下那个.so文件的前7行

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
  <meta name="robots" content="noindex, nofollow" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <title>Just a moment...</title>
cssxsh commented 2 years ago

库下载失败了,你可以尝试手动下载 https://github.com/cssxsh/gif-jni/releases/tag/v2.0.0