Open wuxunfeng666 opened 2 weeks ago
.load ./libsimple-aarch64-linux-gnu-gcc/libsimple
No such file or directory
你看看报错啊。。。
@wangfenjin 文件是存在的,第一个代码框里,甚至都识别出是 x86-64 的动态库了。
后来我在 arm64 上重新编译后,能正常加载了。
第一个代码框,真不是代表《aarch64 包里的 .so,是 x86-64 架构》吗?
@wangfenjin 以下是详细执行过程,每句命令前附带注释,标明意图:
系统架构
user@192.168.1.8's password:
[LOGO]
Welcome to Armbian OS 24.8.0 Noble with Linux 6.1.100-ophub
# 七月份的系统,包含 Ubuntu Noble 的包,不算老旧以至于加载不上吧?
user@armbian:~$ uname -a
Linux armbian 6.1.100-ophub #1 SMP Thu Jul 25 01:56:29 EDT 2024 aarch64 aarch64 aarch64 GNU/Linux
自己编译后的库,正常加载,并使用 simple_query
# 识别动态库文件类型
user@armbian:~$ file ~/libsimple*/*.so
/home/user/libsimple-aarch64-linux-gnu-gcc/libsimple.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4fd8bb5ea11af51d5657463ad694d9b58ca2d679, not stripped
# sqlite3 正常加载动态库,并使用库的函数
user@armbian:~$ sqlite3
SQLite version 3.45.1 2024-01-30 16:01:20
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .load /home/user/libsimple-aarch64-linux-gnu-gcc/libsimple.so
sqlite> SELECT simple_query('Hello World');
( h+e+l+l+o* OR hello* ) AND ( w+o+r+l+d* OR world* )
sqlite>
下载 release 里的库,架构不对,加载不了
# 下载压缩包
user@armbian:/dev/shm$ wget -nv 'https://github.com/wangfenjin/simple/releases/download/v0.4.0/libsimple-aarch64-linux-gnu-gcc.
zip'
2024-09-02 11:37:24 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/244509610/8bf4e083-b5e0-4723-ba98-d4d1e9a6bac0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240902%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240902T033712Z&X-Amz-Expires=300&X-Amz-Signature=2a087c55c037bb58a102d59a255042d574befda3cabf2786cb9ac079526e62ee&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=244509610&response-content-disposition=attachment%3B%20filename%3Dlibsimple-aarch64-linux-gnu-gcc.zip&response-content-type=application%2Foctet-stream [5319987/5319987] -> "libsimple-aarch64-linux-gnu-gcc.zip" [1]
# 解压
user@armbian:/dev/shm$ unzip libsimple*.zip
Archive: libsimple-aarch64-linux-gnu-gcc.zip
creating: libsimple-aarch64-linux-gnu-gcc/
creating: libsimple-aarch64-linux-gnu-gcc/dict/
inflating: libsimple-aarch64-linux-gnu-gcc/dict/README.md
inflating: libsimple-aarch64-linux-gnu-gcc/dict/stop_words.utf8
inflating: libsimple-aarch64-linux-gnu-gcc/dict/jieba.dict.utf8
extracting: libsimple-aarch64-linux-gnu-gcc/dict/user.dict.utf8
creating: libsimple-aarch64-linux-gnu-gcc/dict/pos_dict/
inflating: libsimple-aarch64-linux-gnu-gcc/dict/pos_dict/prob_start.utf8
inflating: libsimple-aarch64-linux-gnu-gcc/dict/pos_dict/char_state_tab.utf8
inflating: libsimple-aarch64-linux-gnu-gcc/dict/pos_dict/prob_emit.utf8
inflating: libsimple-aarch64-linux-gnu-gcc/dict/pos_dict/prob_trans.utf8
inflating: libsimple-aarch64-linux-gnu-gcc/dict/hmm_model.utf8
inflating: libsimple-aarch64-linux-gnu-gcc/dict/idf.utf8
inflating: libsimple-aarch64-linux-gnu-gcc/libsimple.so
# 识别文件类型
user@armbian:/dev/shm$ file */*.so
libsimple-aarch64-linux-gnu-gcc/libsimple.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=83a8b043d8b1b46ac9c8aa68f102749c68fcd841, not stripped
# sqlite3 加载不上
user@armbian:/dev/shm$ sqlite3
SQLite version 3.45.1 2024-01-30 16:01:20
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .load /dev/shm/libsimple-aarch64-linux-gnu-gcc/libsimple.so
Error: /dev/shm/libsimple-aarch64-linux-gnu-gcc/libsimple.so.so: cannot open shared object file: No such file or directory
sqlite>
我看下吧
可能是现在用的 qemu 模拟的方式有点问题,可以等年底 github 支持 arm 设备之后更新下脚本
这是这个插件的信息:
查看 libsqlite3 的:
arm64 上的 SQLite 无论怎么写,都加载失败。。