在统信UOS上安装SQLite需分场景:用apt install sqlite3可快速部署命令行工具,但不提供libsqlite3.so;Lazarus等应用需手动编译源码生成适配本机架构的libsqlite3.so,或从libsqlite3-0/deb包中提取并验证依赖。

在统信UOS系统上安装SQLite,是为了让命令行工具可用、或为后续开发(如Lazarus/FPC项目)提供底层数据库支持,避免因库文件缺失导致程序运行时报“libsqlite3.so: cannot open shared object file”错误。
用apt一键安装命令行工具
统信UOS基于Debian系,官方源已预编译并维护sqlite3包,这是最快捷、最稳妥的方式。
打开终端,执行:
syntax: sudo apt update && sudo apt install sqlite3
安装完成后,直接输入 sqlite3 回车,看到以 sqlite> 开头的交互提示符,即表示成功。
注意:此方法仅安装命令行工具 sqlite3 和头文件 sqlite3-dev(若需编译C程序),不生成 libsqlite3.so 动态库供第三方应用直接 dlopen 加载。Lazarus等桌面应用若报找不到 libsqlite3.so,需另行处理。
手动编译生成libsqlite3.so(适配UOS ARM64/x86_64)
这是解决Lazarus/FPC项目中 TSQLite3Connection 连接失败的核心步骤——必须用本机环境编译,跨平台复制的so文件会因GLIBC版本或CPU架构不匹配而加载失败。
第一步:下载官方源码
访问 https://www.sqlite.org/download.html → 找到 “Source Code” → 下载 sqlite-autoconf-*.tar.gz(例如 sqlite-autoconf-3460000.tar.gz)
第二步:解压并进入源码目录
tar -xzf sqlite-autoconf-*.tar.gz → cd sqlite-autoconf-*
第三步:配置并编译
./configure --prefix=/usr/local && make -j$(nproc)
第四步:安装到系统路径
sudo make install
此时 /usr/local/lib/libsqlite3.so 已就位。但Lazarus默认不认这个路径,需在代码中显式指定 LibPath := '/usr/local/lib';,否则仍会报错。
从.deb包提取libsqlite3.so(应急替代法)
当无法联网或编译环境缺失时,可从其他UOS机器或可信deb包中提取已验证可用的so文件。
方法一:从libsqlite3-0包提取
sudo apt download libsqlite3-0 → ar x libsqlite3-0_*.deb → tar -xf data.tar.xz → 找到 usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 → 复制并重命名为 libsqlite3.so
方法二:从sqlite3-dev包提取
该包含完整头文件与静态/动态库,路径通常为 /usr/lib/x86_64-linux-gnu/libsqlite3.so,直接复制即可使用。
【关键提醒】提取后务必用 ldd libsqlite3.so 检查依赖项,若输出含“not found”,说明该so仍依赖未安装的系统库,不可直接使用。








