سؤال

أريد أن الاتصال إلى الخلية من SBCL باستخدام CLSQL.أنا حملت CLSQL باستخدام quicklisp (ql:quickload 'clsql).ومع ذلك ، عندما يدعو (clsql:ربط '(...) :قاعدة بيانات من نوع :mysql) قال:

لم أستطع تحميل المكتبات الأجنبية "libmysqlclient", "libmysql".(بحثت CLSQL-SYS:الخارجية-مكتبة-SEARCH-مسارات).

أنا على CentOS و أساسا ما أريد القيام به هو

  1. تثبيت عميل mysql التنمية رؤوس يم ، لذلك UFFI يمكن العثور عليه (وهو ما فشلت في القيام به)
  2. بعد تثبيت, تكون قادرة على الاتصال خادم MySQL المحلية (أعتقد بعد 1.يتم ذلك ، يمكن أن تعمل تلقائيا).

أنا حاليا باستخدام:

  • CentOS 5.7 Final (32 بت)
  • SBCL 1.0.55
  • Quicklisp بيتا
  • يم مستودعات:قاعدة المدرسة الإبتدائية, إضافات وتحديثات

أنا لم أسأل عن كيفية تثبيت الخلية التنمية رؤوس على CentOS, لأن ذلك من شأنه أن يحل سوى جزء من المشكلة ، أنا سوف لا تزال بحاجة إلى معرفة ما هو مفقود من الجهاز الخاص بي.أنا أيضا لم تحاول بناء libmysqlclient/libmysql من المصدر, لأنني لا أعرف ما إذا كان clsql سيكون قادر على العثور عليه أو لا.أعتقد لا.

أنا حقا آسف إن كان سؤالي بطريقة ما يفتقد هذه النقطة ، ولكن واسعة غوغلينغ لم تسفر عن أي نتائج.إذا قال لي أحد لم يستطيعوا تثبيت الخلية العميل التنمية رؤوس على CentOS, وأود أن نضحك عليهم ونقول لهم استخدام يم البحث, ولكن أنا لا يمكن العثور عليه لا مع يم لا على الانترنت.

أنا أعرف الحل أوبونتو (و ديبيان) ، لأن هناك cl-sql حزمة وأنا يمكن بسهولة العثور على الخلية رؤوس هناك أيضا ، ولكن أنا في حاجة إليها على CentOS.

شكرا مقدما.

هل كانت مفيدة؟

المحلول

بطريقة ما, عندما كنت في محاولة شيء طويل بما فيه الكفاية, سوف تحصل على القيام به؛)

هنا هو ما فعلته إذا كان أي شخص يحتاج إجابة و الزلات هذا السؤال:

(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" مع مسار مختلف عن الخلية المكتبات ، إذا لزم الأمر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top