对于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的符号