gpt4 book ai didi

mysql - SBCL 中的 clsql 问题

转载 作者:行者123 更新时间:2023-11-29 01:46:45 25 4
gpt4 key购买 nike

我正在尝试让 clsql 工作(以前使用 cl-mysql,但正在寻找替代方案)。只是尝试在这一点上玩耍,我在 connect

处停止了
(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 的问题) .

最佳答案

不要使用accept 重启。它的意思是“即使事情搞砸了也要继续前进”,这很少是你想做的。

您是否安装了 mysql 开发库?你有libmysqlclient.so吗?

尝试一件事:启动一个新的 sbcl 并快速加载“clsql-uffi”,然后跟踪 clsql-uffi::find-and-load-foreign-library,然后 (clsql :connect nil :database-type 'mysql) 以查看它是否根据跟踪输出找到您需要的内容。

关于mysql - SBCL 中的 clsql 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com