-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
问题描述
Hagicode Desktop macOS ARM64 版本 (hagicode-0.1.0-beta.16-osx-arm64-nort) 在启动时崩溃,原因是尝试加载 Linux
专属的动态链接库 libdl.so.2。
环境信息
- 版本: hagicode-0.1.0-beta.16-osx-arm64-nort
- 系统: macOS (Darwin 24.6.0, ARM64)
- .NET 版本: 10.0.3
错误日志
System.DllNotFoundException: Unable to load shared library 'libdl.so.2' or one of its dependencies.
dlopen(/.../lib/libdl.so.2.dylib, 0x0001): tried: ... (no such file)
dlopen(libdl.so.2.dylib, 0x0001): tried: ... (no such file)
原因分析
libdl.so.2 是 Linux 系统库,在 macOS 上不存在。
这表明 macOS 版本的打包过程中混入了 Linux 原生依赖,可能是以下原因之一:
- 编译时目标平台设置错误
- 打包脚本将 Linux 库文件误打包进 macOS 版本
- 某些 NuGet 包的 native 依赖解析错误
复现步骤
- 下载
hagicode-0.1.0-beta.16-osx-arm64-nort - 运行
start.sh - 应用启动后立即崩溃
建议修复
- 检查 CI/CD 打包流程,确保 macOS 版本使用正确的原生依赖
- 验证
DllImport调用是否使用跨平台的库名(如libdl而非libdl.so.2) - 考虑使用 .NET 的
NativeLibraryAPI 进行跨平台动态加载
请尽快修复 macOS 版本的打包问题,感谢!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels