project-mirai / mirai-silk-converter

Converter that convert unsupported formats to silk
GNU Affero General Public License v3.0
19 stars 5 forks source link

启动报错 E/Silk Converter: java.lang.UnsatisfiedLinkError #1

Open zhaodice opened 2 years ago

zhaodice commented 2 years ago

错误信息:

2021-12-06 20:55:53 E/Silk Converter: java.lang.UnsatisfiedLinkError: io.github.kasukusakura.silkcodec.NativeBridge.initialize()V
java.lang.UnsatisfiedLinkError: io.github.kasukusakura.silkcodec.NativeBridge.initialize()V
        at io.github.kasukusakura.silkcodec.NativeBridge.initialize(Native Method)
        at io.github.kasukusakura.silkcodec.NativeLoader.initialize(NativeLoader.java:26)
        at net.mamoe.mirai.silkconverter.MiraiSilkConverterConsolePlugin.onLoad(ConsolePluginMode.kt:41)
        at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnLoad$mirai_console(JvmPluginInternal.kt:196)
        at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.load(BuiltInJvmPluginLoaderImpl.kt:110)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.load(JvmPluginLoader.kt)
        at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.load(JvmPluginLoader.kt:36)
        at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadPluginNoEnable(PluginManagerImpl.kt:85)
        at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadAllPluginsUsingBuiltInLoaders$mirai_console(PluginManagerImpl.kt:141)
        at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:163)
        at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:276)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:152)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:151)
        at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:47)

2021-12-06 20:55:53 E/Silk Converter: Configuration location: C:\MiraiZhao\data\Silk Converter

系统环境:

C:\MiraiZhao>systeminfo
主机名:           WIN-MOBO87UB865
OS 名称:          Microsoft Windows 7 旗舰版
OS 版本:          6.1.7601 Service Pack 1 Build 7601
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站
OS 构件类型:      Multiprocessor Free
注册的所有人:     Windows 用户
注册的组织:
产品 ID:          00426-OEM-8992662-00006
初始安装日期:     2021/2/20, 10:49:33
系统启动时间:     2021/12/5, 22:31:52
系统制造商:       VMware, Inc.
系统型号:         VMware Virtual Platform
系统类型:         x64-based PC
处理器:           安装了 1 个处理器。
                  [01]: Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~2592 Mhz
BIOS 版本:        Phoenix Technologies LTD 6.00, 2020/7/22
Windows 目录:     C:\Windows
系统目录:         C:\Windows\system32
启动设备:         \Device\HarddiskVolume1
系统区域设置:     zh-cn;中文(中国)
输入法区域设置:   zh-cn;中文(中国)
时区:             (UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量:     4,095 MB
可用的物理内存:   1,092 MB
虚拟内存: 最大值: 8,189 MB
虚拟内存: 可用:   3,589 MB
虚拟内存: 使用中: 4,600 MB
页面文件位置:     C:\pagefile.sys
域:               WORKGROUP
登录服务器:       \\WIN-MOBO87UB865
修补程序:         安装了 5 个修补程序。
                  [01]: KB2534111
                  [02]: KB2999226
                  [03]: KB4474419
                  [04]: KB958488
                  [05]: KB976902
网卡:             安装了 2 个 NIC。
                  [01]: Intel(R) PRO/1000 MT Network Connection
                      连接名:      本地连接
                      启用 DHCP:   是
                      DHCP 服务器: 192.168.60.254
                      IP 地址
                        [01]: 192.168.60.128
                        [02]: fe80::3daf:1a21:d3b2:a225
                  [02]: Bluetooth 设备(个人区域网)
                      连接名:      Bluetooth 网络连接
                      状态:        媒体连接已中断
C:\MiraiZhao>ffmpeg
ffmpeg version 4.3.2-2021-02-27-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --e
nable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray -
-enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-
libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enab
le-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --ena
ble-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable
-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-l
adspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

已经按照上面的说明配置好了环境变量,环境变量PATH的信息:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\bin;C:\MiraiZhao\ffmpeg;C:\MiraiZhao\data\Silk Converter Mirai版本:2.9.0-M1 转换器版本:0.0.5

zhaodice commented 2 years ago

另外提一下,\data\Silk Converter\settings.properties会记录老的dll位置,下次启动直接读配置,这将导致移动了整个程序文件夹后会找不到dll的位置。

Karlatemp commented 2 years ago

Win7也太老了吧, 你可以根据 https://github.com/KasukuSakura/silk-codec/blob/main/BUILD_NATIVE.md 执行构建一个 dll, 也欢迎来 pr 一个 win7 可用的 dll

zhaodice commented 2 years ago

Win7也太老了吧, 你可以根据 https://github.com/KasukuSakura/silk-codec/blob/main/BUILD_NATIVE.md 执行构建一个 dll, 也欢迎来 pr 一个 win7 可用的 dll

JNIEXPORT void JNICALL Java_io_github_kasukusakura_silkcodec_NativeBridge_initialize
        (JNIEnv *env, jclass) {
    //sys_initialize_NativeBridge(env);
    //sys_initialize_SilkCoder(env);
    //sys_initialize_Jvmti(env);
}

看起来是执行 initialize 出错的,但我把这三个屏蔽了重新编译都能出错,太奇怪了(