我想使用CLSQL从SBCL连接到MySQL。我使用quicklisp加载了CLSQL (ql:quickload 'clsql)。但是,当调用(clsql:connect‘(.) :database-type :mysql)时,它说:
无法加载外部库"libmysqlclient“、"libmysql”。(已搜索CLSQL-SYS:外库-搜索-路径)。
我在CentOS上,基本上我想做的是
使用yum安装mysql客户端开发头,以便UFFI能够在安装后找到它(我没有找到) automatically).
我目前正在使用:
1.0.55
我不只是问如何在CentOS上安装CentOS开发头,因为这只会解决我的部分问题,我仍然需要知道我的机器缺少什么。我也没有尝试从源代码构建libmysqlclient/libmysql,因为我不知道clsql是否能够找到它。我不这么认为。
如果我的问题有点漏掉了重点,我真的很抱歉,但是大范围的谷歌搜索并没有产生任何结果。如果有人告诉我他们不能在CentOS上安装,我会嘲笑他们,并告诉他们使用yum搜索,但我在yum和在线上都找不到。
我知道ubuntu (和debian)的解决方案,因为有一个cl包,我也可以很容易地在那里找到mysql头,但是我需要它在CentOS上。
提前谢谢。
发布于 2012-02-27 12:51:02
不知何故,当你尝试某件事足够长的时候,它就会完成;)
如果有人想知道答案,并且无意中发现了这个问题,我会这样做:
(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库的不同路径。
https://stackoverflow.com/questions/9430575
复制相似问题