2012-02-24 17 views
1

CLSQLを使用してSBCLからMySQLに接続します。 quicklisp(ql:quickload 'clsql)を使用してCLSQLをロードしました。しかし、(clsql:connect '(...):database-type:mysql)を呼び出すとき、それは言った:CentOSインストール時のCLSQL

"libmysqlclient"、 "libmysql"という外部ライブラリを読み込めませんでした。 (検索されたCLSQL-SYS:外部ライブラリ検索欄)。

私はCentOSの上だし、UFFIをインストールした後

  • (私はやって失敗した)それを見つけることができますので、基本的には私がやりたいことは、YUMでMySQLクライアントの開発用ヘッダを

    1. インストールされ、ローカルのMySQLサーバに接続できるようになります(1.が終わったら、自動的に動作すると思います)。

      • のCentOS 5.7ファイナル(32ビット)
      • SBCL 1.0.55
      • Quicklispベータ
      • のyumリポジトリ:ベース、EPEL、エキストラ、更新を私が現在使用している

  • MySQL開発用ヘッダーをCentOSにインストールする方法について尋ねただけではありません。私の問題の一部だけを解決して、私はまだ私のマシンから欠けているものを知る必要があります。また、clsqlが見つけられるかどうかわからないので、sourceからlibmysqlclient/libmysqlをビルドしようとしなかった。私はそうは思わない。

    私の質問が何らかの理由で見逃しても大変申し訳ありませんが、広範囲にわたる検索では結果が得られませんでした。もし誰かがCentOSにmysqlクライアント開発ヘッダをインストールできないと言ったら、私はそれらを笑ってyum検索を使うように言いますが、yumとオンラインのどちらでも見つけることはできませんでした。

    私はcl-sqlパッケージがあるので、ubuntu(とdebian)の解決策を知っています。私は簡単にそこにmysqlヘッダーを見つけることができますが、CentOS上に必要です。

    ありがとうございます。

    答えて

    1

    どういうわけか、あなたは十分な長さに何かをしようとすると、それが行われます;)誰もがこの質問の際に解答やつまずきを必要とする場合

    は、ここに私がやったことだ:もちろん

    (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ライブラリの別のパスに置き換えてください。

    +0

    2012年からコードがどのように変更されたのかよく分かりませんが、今日(2016年)は「push」という単語を含む両方の行が同じことをしています。だから、 ''/usr/lib/mysql ''はリストの中で2回目になります。 – daveloyall

    +0

    また、pathspec '#P"/usr/lib/mysql "と文字列"/usr/lib/mysql "との間にはいくつかの違いがあります。 – daveloyall

    +1

    私は別のシステムで動作させるようにしていたことを思い出しました。(# 'プッシュは冗長です)。異なるシステムや異なるシステム上のCLSQLインストールの問題が私には疲れてしまいました。私はずっとPostgresとPostmodernに切り替えました。これは簡単なことですが、そのままの状態で動作します(UFFIやCFFIなし、TCP/IP )、そして率直に言って、より良い使用経験を持っています。 ORDBMSなので、CLOSにうまく統合されています。 –

    関連する問題