CLSQL на установку CentOS - PullRequest
       69

CLSQL на установку CentOS

1 голос
/ 24 февраля 2012

Я хочу подключиться к MySQL из SBCL, используя CLSQL.Я загрузил CLSQL, используя quicklisp (ql: quickload 'clsql).Однако при вызове (clsql: connect '(...): тип-базы-данных: mysql) он сказал:

Не удалось загрузить сторонние библиотеки "libmysqlclient", "libmysql".(искал CLSQL-SYS: FOREIGN-LIBRARY-SEARCH-PATHS ).

Я нахожусь на CentOS, и в основном я хочу сделать

  1. Установите заголовки разработки клиента mysql с помощью yum, чтобы UFFI смог найти его (что я не смог сделать)
  2. после установки, иметь возможность подключиться к локальному серверу MySQL (я думаю, что после того, как 1. сделано, оно может работатьавтоматически).

Я сейчас использую:

  • CentOS 5.7 Финал (32 бита)
  • SBCL 1.0.55
  • Quicklisp beta
  • yum репозитории: база, epel, дополнения, обновления

Я не просто спросил о том, как установить заголовочные файлы разработки MySQL на CentOS, потому что это решило бы только частьмоя проблема, мне все равно нужно знать, чего не хватает в моей машине.Я также не пытался собрать libmysqlclient / libmysql из исходного кода, потому что я не знаю, сможет ли clsql найти его или нет.Я думаю, что нет.

Мне очень жаль, если мой вопрос как-то не подходит, но интенсивное поиск в Google не принесло никаких результатов.Если бы кто-нибудь сказал мне, что они не могут установить заголовочные файлы разработки для mysql на CentOS, я бы посмеялся над ними и сказал бы им использовать поиск yum, но я не смог найти его ни с помощью yum, ни в Интернете.

Я знаюрешение для Ubuntu (и Debian), потому что есть пакет cl-sql, и я легко могу найти там заголовки mysql, но он мне нужен в CentOS.

Заранее спасибо.

1 Ответ

1 голос
/ 27 февраля 2012

Каким-то образом, когда вы попробуете что-то достаточно долго, это будет сделано;)

Вот что я сделал, если кому-то нужен ответ и натыкается на этот вопрос:

(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, если это необходимо.

...