WINE运行32位Windows SQLite3应用时加载64位ODBC库失败
32位Windows SQLite ODBC程序在WSL2 Ubuntu下通过WINE运行时SQLDriverConnect失败问题
- 运行环境:WSL2 64位Ubuntu系统,通过WINE执行Visual Studio 2019编译的32位Windows SQLite3控制台测试程序
- 异常现象:该程序在Windows 10系统下可正常运行,但在WSL环境中调用
SQLDriverConnect()时失败,SQLGetDiagRec()返回错误提示,称找不到已存在的/usr/lib/x86_64-linux-gnu/odbc/libsqlite3odbc-0.9998.so文件 - 对比分析:系统中的
isql工具可正常连接目标数据库;通过strace对比两者行为发现,isql会调用mmap加载该ODBC库,而测试程序仅读取库文件头后就关闭了文件 - 已完成排查:确认文件权限正常、
LD_LIBRARY_PATH环境变量配置正确、库文件依赖无缺失 - 初步怀疑:32位程序无法加载64位库的兼容性问题导致加载失败
请问该加载失败的具体原因是什么?
内容的提问来源于stack exchange,提问作者Richard Chambers
相关产品推荐
相关产品推荐

