1

对于 SBCL 1.0.45,使用 quicklisp 加载 clsql-mysql,我得到一个关于“无符号”的错误,这似乎导致接口无法加载。具体来说,错误是:

[包 clsql-mysql]

文件:/home/blake/quicklisp/dists/quicklisp/software/clsql-20110829-git/db-mysql/mysql-sql.lisp

在:DEFPACKAGE #:CLSQL-MYSQL

 (DEFPACKAGE #:CLSQL-MYSQL

   (:USE #:COMMON-LISP #:CLSQL-SYS #:MYSQL #:CLSQL-UFFI)

   (:EXPORT #:MYSQL-DATABASE)

   (:IMPORT-FROM :CLSQL-SYS
                 :ESCAPED
                 :UNESCAPED
                 :COMBINE-DATABASE-IDENTIFIERS
                 :ESCAPED-DATABASE-IDENTIFIER
                 :UNESCAPED-DATABASE-IDENTIFIER
                 :DATABASE-IDENTIFIER
                 :%SEQUENCE-NAME-TO-TABLE
                 :%TABLE-NAME-TO-SEQUENCE-NAME)
   (:DOCUMENTATION "This is the CLSQL interface to MySQL."))
   ;--> EVAL-WHEN 

  ;==>
   (SB-IMPL::%DEFPACKAGE "CLSQL-MYSQL" 'NIL 'NIL 'NIL 'NIL
                     '("COMMON-LISP" "CLSQL-SYS" "MYSQL" "CLSQL-UFFI")
                     '(("CLSQL-SYS" "ESCAPED" "UNESCAPED"
                        "COMBINE-DATABASE-IDENTIFIERS"
                        "ESCAPED-DATABASE-IDENTIFIER"
                        "UNESCAPED-DATABASE-IDENTIFIER"
                        "DATABASE-IDENTIFIER" "%SEQUENCE-NAME-TO-TABLE"
                        "%TABLE-NAME-TO-SEQUENCE-NAME"))
                     'NIL '("MYSQL-DATABASE") '("CLSQL-MYSQL") 'NIL ...)
 caught ERROR:
      (during compile-time-too processing)
       no symbol named "ESCAPED" in "CLSQL-SYS"

有没有其他人遇到过这个问题?

4

1 回答 1

1

看起来您正在使用来自 Quicklisp 外部的 clsql。你是在过去的某个时间下载的吗?显示什么(asdf:system-source-directory "clsql")

可通过 Quicklisp 加载的 clsql-sys确实有一个名为 ESCAPED 的符号。

于 2011-09-09T22:16:46.860 回答