Domanda

Voglio la connessione a MySQL da SBCL utilizzando CLSQL.Ho caricato CLSQL utilizzando quicklisp (ql:quickload 'clsql).Tuttavia, quando si chiama (clsql:connect '(...) :database-tipo :mysql), ha detto:

Riuscivo a caricare librerie esterne "libmysqlclient", "libmysql".(ricerca di CLSQL-SYS:STRANIERI-BIBLIOTECA-RICERCA-PERCORSI).

Io sono su CentOS, e in fondo quello che voglio fare è

  1. Installare il client mysql sviluppo intestazioni con yum, quindi UFFI può trovare (che non sono riuscito a fare)
  2. dopo l'installazione, sarà in grado di connettersi al server MySQL locale (penso che dopo 1.è fatto, si può lavorare in automatico).

Attualmente sto usando:

  • CentOS 5.7 Finale (32 bit)
  • SBCL 1.0.55
  • Quicklisp beta
  • repository yum:di base, epel, gli extra, gli aggiornamenti

Non mi basta chiedere su come installare MySQL sviluppo intestazioni su CentOS, perché risolverebbe solo in parte il mio problema, avrei ancora bisogno di sapere che cosa manca dalla mia macchina.Ho anche non provare a costruire libmysqlclient/libmysql dall'origine, perché non so se clsql sarebbe in grado quindi di trovare o no.Io credo di no.

Scusa se la mia domanda, in qualche modo, perde il punto, ma ricca di google non ha dato alcun risultato.Se qualcuno mi ha detto che non riusciva a installare il client mysql sviluppo intestazioni su CentOS, vorrei ridere di loro e dire loro di utilizzare yum search, ma non riuscivo a trovare nessuno con yum né online.

So che la soluzione per ubuntu (debian), perché c'è un cl-pacchetto sql e posso facilmente trovare mysql intestazioni anche lì, ma ho bisogno che su CentOS.

Grazie in anticipo.

È stato utile?

Soluzione

In qualche modo, quando si tenta qualcosa abbastanza a lungo, sarà fatto ;)

Ecco quello che ho fatto, se qualcuno ha bisogno di una risposta, e si imbatte in questa domanda:

(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")

Naturalmente, è possibile sostituire "/usr/lib/mysql" con un percorso diverso per mysql librerie, se necessario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top