CLSQL and MYSQL on OS X

779 views Asked by At

I'm working on OS X 10.6.4. I've been using clbuild to install supporting libraries for SBCL (including clsql), and I do all my work through Aquamacs. I installed MySQL using the excellent instructions over at Hive Logic. But when I call (require 'clsql) -- which seems to work fine -- and then try to execute (clsql:connect '(nil "lisp" "root" "") :database-type :mysql) to connect to my local running database, I get this error message:

erred while invoking #<COMPILE-OP (:VERBOSE NIL) {12096109}> on
#<CLSQL-MYSQL-SOURCE-FILE "clsql_mysql" {1208E071}>
   [Condition of type ASDF:OPERATION-ERROR]

From my research of this problem, I think it comes from me not having a compiled version of the libmysqlclient.dylib file, of which I have a copy in /usr/local/mysql/lib/, but I'm not clear on how to go about compiling it. This forum post seems to say that's exactly what I need to do, but there's no make file in that directory.

2

There are 2 answers

0
Adam Nelson On

Nowadays, you should use homebrew for MySQL installation on Snow Leopard. Homebrew installs MySQL 5.5.10 which doesn't have the compiler problem that 5.5.8 had (AFAIK).

0
Wodin On

I would guess you can download mysql-5.5.8-osx10.6-x86_64.dmg from http://dev.mysql.com/downloads/mysql/#downloads

I would expect that to include the precompiled client libs. I haven't tried it though.

If it really doesn't have the precompiled client libs, you'll probably need to download the MySQL source code from the same place (select "Source Code" from the "Select Platform" dropdown box) and compile it. Even though the description says "Generic Linux" I think mysql-5.5.8.tar.gz should work.

Having previously installed MySQL 5.0 on Leopard, I am sure it came with the client libs, but of course something could have changed. It just seems unlikely they would not provide them.

EDIT:

After installing the version for OS X 10.5, this is what I find in terms of client libs:

/usr/local/mysql-5.5.8-osx10.5-x86_64/lib/libmysqlclient.16.dylib
/usr/local/mysql-5.5.8-osx10.5-x86_64/lib/libmysqlclient.a
/usr/local/mysql-5.5.8-osx10.5-x86_64/lib/libmysqlclient.dylib
/usr/local/mysql-5.5.8-osx10.5-x86_64/lib/libmysqlclient_r.16.dylib
/usr/local/mysql-5.5.8-osx10.5-x86_64/lib/libmysqlclient_r.a
/usr/local/mysql-5.5.8-osx10.5-x86_64/lib/libmysqlclient_r.dylib

so they are indeed installed along with the server.