clsql-20110829版本的quicklisp加载clsql-mysql时出现SBCL错误



对于SBCL 1.0.45,使用quicklisp加载clsql-mysql,我得到一个关于"no symbol"的错误,这似乎导致接口加载失败。具体来说,错误是:

(包clsql-mysql)

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

in: 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"

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

看起来您正在使用Quicklisp外部的clsql。你以前下载过吗?(asdf:system-source-directory "clsql")表示什么?

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

最新更新