Common lisp Can';I don’我不能让AllegroServe/Ironded去工作 (ql:quickload“aserve”)失败
我正在安装AllegroServe。根据和,获取服务的最简单方法是使用quicklisp获取它:Common lisp Can';I don’我不能让AllegroServe/Ironded去工作 (ql:quickload“aserve”)失败,common-lisp,sbcl,Common Lisp,Sbcl,我正在安装AllegroServe。根据和,获取服务的最简单方法是使用quicklisp获取它:(ql:quickload“aserve”) 但是(ql:quickload“aserve”)失败,在调试器缓冲区中产生以下错误: COMPILE-FILE-ERROR while compiling #<IRONCLAD-SOURCE-FILE "ironclad" "src" "digests" "digest"> [Condition of type UIOP/LISP-
(ql:quickload“aserve”)
但是
(ql:quickload“aserve”)
失败,在调试器缓冲区中产生以下错误:COMPILE-FILE-ERROR while compiling
#<IRONCLAD-SOURCE-FILE "ironclad" "src" "digests" "digest">
[Condition of type UIOP/LISP-BUILD:COMPILE-FILE-ERROR]
COMPILE-FILE-编译时出错
#
[UIOP/LISP-BUILD类型的条件:编译文件错误]
而在REPL中,它说:
; Loading "aserve"
; caught ERROR: READ error during COMPILE-FILE: Symbol "BIGNUM-TYPE"
; not found in the SB-BIGNUM package. Line: 53, Column: 52,
; File-Position: 2151 Stream: #<SB-INT:FORM-TRACKING-STREAM for
; "file
; C:\\Users\\user\\AppData\\Roaming\\quicklisp\\dists\\quicklisp\\software\\ironclad_0.33.0\\src\\digests\\digest.lisp"
; {25AFCD91}>
;加载“aserve”
; 捕获错误:编译文件期间读取错误:符号“BIGNUM-TYPE”
; 在SB-BIGNUM包中找不到。第53行第52列,
; 文件位置:2151流:#
到目前为止我都试过了 显然铁壳是另一个包,一个“用纯公共Lisp编写的加密工具包”。我从下载了Ironcold-v0.34,甚至在Ironcold文件夹中找到了
digest.lisp
和digests.lisp
,这让我觉得我走对了方向
我的问题是我不知道从这里到哪里去。如何以及在何处“安装”Irondead
Quickdocs说
[Ironcold]带有ASDF系统定义,因此(ASDF:oos'ASDF:load op
:铁甲)
应该是您开始工作所需的全部内容。测试套件
可以通过将asdf:test op替换为表单中的asdf:load op来运行
上面
但由于我不熟悉asdf,我不知道该如何理解它
我走对了吗?安装铁壳包是否正确地消除了编译时的错误COMPILE-FILE-error
?如果是,我该如何处理Ironcold-v0.34文件夹
(我在windows 10机器上使用sbcl。)多亏@jkiiski引导我走上了正确的道路,我才能够安装一个服务器。正如@jkiiski所指出的,问题确实是铁甲的旧版本,它使用的是从SBCL中删除的
SB-BIGNUM:BIGNUM-TYPE
然而,我更新铁甲的方式可能不是(!)一个好方法,因为我都是手动完成的(容易出错)。
由于不知道quicklisp是如何工作的,我搜索了Ironcold-0.33.0的每一次出现,并将其替换为Ironcold-v0.34,这意味着替换
- 带有…/dists/quicklisp/software/ironcall-0.33.0的…/dists/quicklisp/software/ironcall-v0.34文件夹
- irconcladd-0.33.0tgz在…/dists/quicklisp/archives/中,带有Ironcold-v0.34.tgz
- 条目dists/quicklisp/software/ironcall-0.33.0/在…/dists/quicklisp/installed/releases/ironcall.txt中,带有dists/quicklisp/software/ironcall-v0.34/
- 我还更新了…/dists/quicklisp/installed/systems中的ironcold.txt和ironcold-text.txt/
好的,它是有效的,但我只是这样做,因为我不知道有更好的方法(但我确信一定有更好的方法)。无论ql打印到哪里,都可能有更多关于错误的输出(例如Emacs中的repl缓冲区).I添加了与错误相关的repl输出。似乎错误是由使用从SBCL中删除的
SB-BIGNUM:BIGNUM-TYPE
引起的。这似乎是错误的,因此安装最新版本应该可以工作。查看将最新版本放入quicklisp/local projects/
目录并执行(ql:register local projects)
是否有帮助。