Lispworks 中的 Quicklisp 错误

Quicklisp error in Lispworks

我是 运行 OSX (macOS High Sierra) 上的 LispWorks 7.1。我 有时 遇到 Quicklisp 加载错误(我说 有时 因为当我重新启动 LispWorks 时我 有时 不不会再看到此错误)。

示例:

CL-USER 1 > (ql:quickload "iterate")
To load "iterate":
  Load 1 ASDF system:
    asdf
  Install 1 Quicklisp release:
    iterate

Error: Error detected during deflate decompression: Corrupted Data detected during decompression: Incorrect huffman code (1E55) in huffman decode!
  1 (abort) Give up on "iterate"
  2 Return to top loop level 0.

Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other options.

知道发生了什么事吗?

我已经确认我最近有一个客户:

CL-USER 6 > (ql:update-client)
The most up-to-date client, version 2017-03-06, is already installed.
T

此外,回溯,以防有帮助:

CL-USER 12 : 1 > :b
Call to ERROR
Call to QL-GUNZIPPER::DECODE-HUFFMAN-BLOCK
Call to QL-GUNZIPPER::DECODE-BLOCK
Call to QL-GUNZIPPER::INFLATE-STREAM
Call to QL-GUNZIPPER::INFLATE-GZIP-STREAM
Call to QL-GUNZIPPER:GUNZIP
Call to (METHOD QL-DIST:INSTALL (QL-DIST:RELEASE))
Call to (METHOD QL-DIST:ENSURE-INSTALLED (T))
Call to MAP
Call to QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY
Call to QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES
Call to (METHOD QUICKLISP-CLIENT:QUICKLOAD (T))
Call to CLOS::NEXT-METHOD-CALL-2
Call to QL-DIST::CALL-WITH-CONSISTENT-DISTS
Call to CLOS::GENERIC-FUNCTION-NON-DISCRIMINATOR
Call to LET
Call to EVAL
Call to CAPI::CAPI-TOP-LEVEL-FUNCTION
Call to CAPI::INTERACTIVE-PANE-TOP-LOOP
Call to MP::PROCESS-SG-FUNCTION

正如 Rainer Joswig 指出的那样,我只需要 (duh!) 应用最新的补丁。

为了将来参考,这涉及

  1. 正在下载列出的补丁程序here
  2. 将它们复制到适当的 private-patches 目录(例如 /Applications/LispWorks\ 7.1\ \(64-bit\)/Library/lib/7-1-0-0/private-patches 对我来说)
  3. 相应地修改目录中的 load.lisp(在这种情况下,添加 (load-one-private-patch "lisp-memory-copy-32-chunks" :system64)(load-one-private-patch "replace-i-vectors" :system))
  4. 重新启动 Lispworks