CLSQL上CentOS安装
题
我想使用clsql从sbcl连接到mysql。我使用QuickLisp(QL:QuickLoad'Clsql)加载了CLSQL。但是,在调用时(clsql:connect'(...):数据库类型:mysql),它说:
无法加载外部库“libmysqlclient”,“libmysql”。 (搜索CLSQL-SYS:外语 - 搜索路径)。
我在Centos,基本上我想做的是
- 用yum安装mysql客户端开发标题,所以uffi可以找到它(我未能做的)
- 安装后,能够连接到本地MySQL服务器(我思考1.完成后,它可以自动工作)。
我目前正在使用:
- CentOS 5.7 Final(32位)
- sbcl 1.0.55
- Quicklisp Beta
- yum存储库:基础,epel,额外,更新
我不只是询问如何在CentOS上安装MySQL Development标题,因为这将只解决我的问题的一部分,我仍然需要知道我的机器中缺少的内容。我也没有尝试从源中建立libmysqlclient / libmysql,因为我不知道clsql是否能够找到它。我想不是。
我真的很抱歉,如果我的问题,以某种方式错过了这一点,但大量的谷歌曲并没有产生任何结果。如果有人告诉我,他们无法在CentOS上安装MySQL客户端开发标题,我会嘲笑他们并告诉他们使用yum搜索,但我既无法在yum既不在线找到它。
我知道Ubuntu(和debian)的解决方案,因为有一个cl-sql包,我也可以在那里轻松找到mysql标题,但我需要它在CentOS上。
提前感谢。
解决方案
以某种方式,当你尝试足够长的东西时,它会完成;)
这是我所做的,如果有人需要答案并绊倒这个问题:
(ql:quickload 'clsql)
;tell clsql where to search for mysql libs
(push #P"/usr/lib/mysql" CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*)
;add mysql libs to clsql library path [apparent from code :]
(clsql:push-library-path "/usr/lib/mysql/")
;directly tell uffi to load mysqlclient shared library
(uffi:load-foreign-library "/usr/lib/mysql/libmysqlclient.so")
.
当然,如果需要,您可以用不同的路径替换“/ usr / lib / mysql”,如果需要,可以为mysql库。 不隶属于 StackOverflow