libsqlite3 问题:我无法使用 cl-sql
libsqlite3 issue: I am not able to use cl-sql
我正在尝试使用 cl-sql
访问 sqlite3
的数据库。
但是我得到了错误
Couldn't load foreign libraries "libsqlite3", "sqlite3". (searched CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*: (#P"/usr/lib/clsql/" #P"/usr/lib/"))
与sqlite
相同。
我已经使用 apt-get
安装了 sqlite3
,/usr/lib
目录中有一个文件 libsqlite.so.0
。
我也尝试从源代码构建 sqlite3
,但我无法获得 so
文件。我做错了什么?
您的问题是 cl-sql 具有第三方依赖性。如果您检查 cl-sql 的实现(可能在“~/quicklisp/dists/quicklisp/software/clsql-202011220-git/db-sqlite3/sqlite3-loader.lisp”下),您会看到函数 database-type-load-foreign
正在尝试加载一个名为“libsqlite3" 或 "sqlite3".
根据您的操作系统,这是在寻找恰好具有这些名称之一的 .dll 或 .so。
鉴于 libsqlite.so 的版本在您的 linux 的特定发行版上有不同的名称,您有许多不同的选择来使这个库工作。
- 使用正确的二进制文件安装 sqlite3 版本
- 创建一个软 link 到您的二进制文件,通过
ln -s /usr/lib/libsqlite.so.0 /usr/lib/libsqlite3.so
重定向(假设 libsqlite.so.0 是 clsql 正在寻找的文件)
- 向
CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*
添加新路径以指向正确的二进制文件(如果安装在其他地方(通过 clsql:push-libary-path
)
我正在尝试使用 cl-sql
访问 sqlite3
的数据库。
但是我得到了错误
Couldn't load foreign libraries "libsqlite3", "sqlite3". (searched CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*: (#P"/usr/lib/clsql/" #P"/usr/lib/"))
与sqlite
相同。
我已经使用 apt-get
安装了 sqlite3
,/usr/lib
目录中有一个文件 libsqlite.so.0
。
我也尝试从源代码构建 sqlite3
,但我无法获得 so
文件。我做错了什么?
您的问题是 cl-sql 具有第三方依赖性。如果您检查 cl-sql 的实现(可能在“~/quicklisp/dists/quicklisp/software/clsql-202011220-git/db-sqlite3/sqlite3-loader.lisp”下),您会看到函数 database-type-load-foreign
正在尝试加载一个名为“libsqlite3" 或 "sqlite3".
根据您的操作系统,这是在寻找恰好具有这些名称之一的 .dll 或 .so。
鉴于 libsqlite.so 的版本在您的 linux 的特定发行版上有不同的名称,您有许多不同的选择来使这个库工作。
- 使用正确的二进制文件安装 sqlite3 版本
- 创建一个软 link 到您的二进制文件,通过
ln -s /usr/lib/libsqlite.so.0 /usr/lib/libsqlite3.so
重定向(假设 libsqlite.so.0 是 clsql 正在寻找的文件) - 向
CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*
添加新路径以指向正确的二进制文件(如果安装在其他地方(通过clsql:push-libary-path
)