我想获得clsql的工作(用于使用cl-mysql,但看着替代品)。只是试图在这一点上玩,而我在connect
在SBCL clsql麻烦
(connect '("localhost" "test" "user" "password") :database-type :mysql)
得到停下让我
erred while invoking #<COMPILE-OP (:VERBOSE NIL) {BDFF0B9}> on
#<CLSQL-UFFI-SOURCE-FILE "clsql-uffi" "uffi" "clsql_uffi">
[Condition of type ASDF:OPERATION-ERROR]
Backtrace:
0: ((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP CLSQL-UFFI-SYSTEM::CLSQL-UFFI-SOURCE-FILE)) ..)
1: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1.)) ..)
2: ((LAMBDA()))
3: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK))
4: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]324))
5: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK ..)
6: ((FLET SB-C::WITH-IT))
7: ((SB-PCL::FAST-METHOD ASDF:OPERATE (T T)) #<unavailable argument> #<unavailable argument> ASDF:LOAD-OP :CLSQL-MYSQL)[:EXTERNAL]
8: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1. SB-INT:&MORE SB-PCL::.DFUN-MORE-CONTEXT. SB-PCL::.DFUN-MORE-COUNT.)) ..)
9: (CONNECT ("localhost" "test" "user" "password"))[:EXTERNAL]
10: (SB-INT:SIMPLE-EVAL-IN-LEXENV (CONNECT '("localhost" "test" "user" "password") :DATABASE-TYPE :MYSQL) #<NULL-LEXENV>)
11: ((LAMBDA()))
--more--
如果我按照accept
重新启动(修剪以上为简洁起见)一路过关斩将,我终于得到
Attempt to call an undefined alien function.
[Condition of type SB-KERNEL::UNDEFINED-ALIEN-FUNCTION-ERROR]
Restarts:
0: [RETRY] Retry SLIME interactive evaluation request.
1: [ABORT] Return to SLIME's top level.
2: [TERMINATE-THREAD] Terminate this thread (#<THREAD "worker" RUNNING {BD63789}>)
Backtrace:
0: (SB-KERNEL::UNDEFINED-ALIEN-FUNCTION-ERROR)
1: ("foreign function: #x806774B")
2: ("foreign function: #x8052F2D")
3: ("foreign function: #x80565C9")
4: ((SB-PCL::FAST-METHOD CLSQL-SYS:DATABASE-CONNECT (T (EQL :MYSQL))) #<unavailable argument> #<unavailable argument> ("localhost" "test" "user" "password") :MYSQL)
5: (CONNECT ("localhost" "test" "user" "password"))[:EXTERNAL]
6: (SB-INT:SIMPLE-EVAL-IN-LEXENV (CONNECT '("localhost" "test" "user" "password") :DATABASE-TYPE :MYSQL) #<NULL-LEXENV>)
7: ((LAMBDA()))
--more--
我使用SBCL 1.0.40.0,Debian的6.0,clsql
使用quicklisp
安装mysql v14.14(尽管我怀疑这是mysql的问题)。
一般来说,Debian会以我感到困惑和难以排除故障的方式修改CL库。我使用Debian系统,但对于Lisp库和实现,我从上游或Quicklisp获取所有内容。不是一个真正的解释,对不起。 – Xach