Closed LTHPKBTE closed 1 year ago
sha256验证文件无问题 pi@ubuntu:~$ sha256sum /home/pi/mirai/data/xyz.cssxsh.mirai.plugin.mirai-skia-plugin/lib/libgif-linux-arm64.so 1ddb84977893de05549663c7e9638f7ec23c8377a7f0205afb309d1b77b3be82 /home/pi/mirai/data/xyz.cssxsh.mirai.plugin.mirai-skia-plugin/lib/libgif-linux-arm64.so
libgif-linux-arm64.so.sha256:1ddb84977893de05549663c7e9638f7ec23c8377a7f0205afb309d1b77b3be82
看样子是缺库或者库版本不对 导致函数 XML_ErrorString
缺失
安装 或者 升级 Expat
报错时的库信息: libexpat1/focal-updates,focal-security,now 2.2.9-1ubuntu0.4 arm64 [installed,automatic] 手动更新后: libexpat1/now 2.4.7-1 arm64 [installed,local] 报错没变,另昨天再次测试之后此报错不影响插件使用。
2022-10-09 08:29:36 E/mirai-skia-plugin: Exception in coroutine Plugin xyz.cssxsh.mirai.plugin.mirai-skia-plugin of mirai-skia-plugin
java.lang.UnsatisfiedLinkError: /home/pi/mirai/data/xyz.cssxsh.mirai.plugin.mirai-skia-plugin/lib/libgif-linux-arm64.so: /home/pi/mirai/data/xyz.cssxsh.mirai.plugin.mirai-skia-plugin/lib/libgif-linux-arm64.so: undefined symbol: XML_ErrorString
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389)
at java.base/java.lang.Runtime.load0(Runtime.java:755)
at java.base/java.lang.System.load(System.java:1953)
at mirai-skia-plugin-1.1.9.mirai2.jar//xyz.cssxsh.gif.Library.loadLibraryOrCopy(Library.kt:26)
at mirai-skia-plugin-1.1.9.mirai2.jar//xyz.cssxsh.gif.Library.load$mirai_skia_plugin(Library.kt:65)
at mirai-skia-plugin-1.1.9.mirai2.jar//xyz.cssxsh.mirai.skia.MiraiSkiaDowloaderKt.loadJNILibrary(MiraiSkiaDowloader.kt:264)
at mirai-skia-plugin-1.1.9.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)
/usr/lib/arm-linux-gnueabihf/libexpat.so
这个文件存在么?
/usr/lib/arm-linux-gnueabihf/libexpat.so
这个文件存在么?
不存在。
话说 你的 arch 是啥
/usr/lib/arm-linux-gnueabihf/libexpat.so
这个文件存在么?不存在。
find /usr/lib -name libexpat.so
会有任何输出么?如果没有,请考虑安装 libexpat-dev
.
话说 你的 arch 是啥
Linux ubuntu 5.15.0-1015-raspi aarch64
/usr/lib/arm-linux-gnueabihf/libexpat.so
这个文件存在么?不存在。
find /usr/lib -name libexpat.so
会有任何输出么?如果没有,请考虑安装libexpat-dev
.
未安装前指令没有输出。 安装后依然报错,指令输出结果/usr/lib/aarch64-linux-gnu/libexpat.so 如果解决不了那就算了,看情况是不影响使用的
我修改了 libgif-linux-arm64.so
的编译环境,编译了新版本 2.0.5
请在 mirai-console 的启动参数中加入 -Dxyz.cssxsh.mirai.gif.version=2.0.5
,以调整下载的 libgif-linux-arm64.so 版本
又根据 lld 的结果 补充了一些库 编译了 2.0.7
-Dxyz.cssxsh.mirai.gif.version=2.0.8
解决
本插件下个版本更新 时修复
更新后报错
2022-10-15 00:51:46 W/JvmPluginLoader: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.jetbrains.skiko:skiko-awt:pom:0.7.34 in (https://maven.aliyun.com/repository/public)
org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.jetbrains.skiko:skiko-awt:pom:0.7.34 in (https://maven.aliyun.com/repository/public)
at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:369)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder.lambda$wrap$0(RunnableErrorForwarder.java:73)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:627)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:262)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:408)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:235)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:212)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:244)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:175)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor(DefaultDependencyCollector.java:541)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult(DefaultDependencyCollector.java:526)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:413)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency(DefaultDependencyCollector.java:365)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process(DefaultDependencyCollector.java:353)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:258)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:326)
at net.mamoe.mirai.console.internal.plugin.JvmPluginDependencyDownloader.resolveDependencies(JvmPluginDependencyDownload.kt:215)
at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.linkLibraries(JvmPluginClassLoader.kt:292)
at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.linkPluginSharedLibraries$mirai_console(JvmPluginClassLoader.kt:258)
at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.linkPluginLibraries(JvmPluginClassLoader.kt:280)
at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.__jpi_try_to_init_dependencies$mirai_console(JvmPluginInternal.kt:175)
at net.mamoe.mirai.console.plugin.jvm.KotlinPlugin.<init>(KotlinPlugin.kt:25)
at net.mamoe.mirai.console.plugin.jvm.KotlinPlugin.<init>(KotlinPlugin.kt:20)
at mirai-skia-plugin-1.1.10.mirai2.jar//xyz.cssxsh.mirai.skia.MiraiSkiaPlugin.<init>(MiraiSkiaPlugin.kt:13)
at mirai-skia-plugin-1.1.10.mirai2.jar//xyz.cssxsh.mirai.skia.MiraiSkiaPlugin.<clinit>(MiraiSkiaPlugin.kt)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at net.mamoe.mirai.console.internal.util.PluginServiceHelper.loadService(PluginServiceHelper.kt:51)
at net.mamoe.mirai.console.internal.util.PluginServiceHelper.loadAllServices(PluginServiceHelper.kt:42)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl$extractPlugins$findAllInstances$2.invoke(BuiltInJvmPluginLoaderImpl.kt:170)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl$extractPlugins$findAllInstances$2.invoke(BuiltInJvmPluginLoaderImpl.kt:165)
at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:210)
at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:314)
at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:303)
at kotlin.sequences.TransformingSequence$iterator$1.hasNext(Sequences.kt:214)
at kotlin.sequences.TransformingSequence$iterator$1.hasNext(Sequences.kt:214)
at kotlin.sequences.FlatteningSequence$iterator$1.ensureItemIterator(Sequences.kt:307)
at kotlin.sequences.FlatteningSequence$iterator$1.hasNext(Sequences.kt:303)
at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:786)
at kotlin.sequences.SequencesKt___SequencesKt.toSet(_Sequences.kt:827)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.extractPlugins(BuiltInJvmPluginLoaderImpl.kt:191)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.listPlugins(BuiltInJvmPluginLoaderImpl.kt:66)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.listPlugins(JvmPluginLoader.kt)
at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.listAndSortAllPlugins(PluginManagerImpl.kt:192)
at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.findAndSortAllPluginsUsingBuiltInLoaders(PluginManagerImpl.kt:138)
at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadAllPluginsUsingBuiltInLoaders$mirai_console(PluginManagerImpl.kt:148)
at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:178)
at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:464)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:168)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:167)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:52)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
旧版+启动参数启动正常。
Could not find artifact org.jetbrains.skiko:skiko-awt:pom:0.7.34 in (https://maven.aliyun.com/repository/public)
这是阿里云的锅,和我的代码无关
你可以在
config/Console/PluginDependencies.yml
加入 maven central 官方的链接 https://repo1.maven.org/maven2/
报错日志:
之后没有报错,但是相关插件无法使用