【问题标题】:How to upgrade asdf version in quicklisp?如何在 quicklisp 中升级 asdf 版本?
【发布时间】:2018-01-06 17:12:49
【问题描述】:

我想编译并运行一个 lisp 源代码来解析 peercoin 区块链,这样我就可以获得前 100 个最富有的地址。我正在使用 lisp 源代码https://github.com/glv2/peercoin-blockchain-parser。 我已经在我的系统上安装了 quicklisp,但是在运行下面的代码时会抛出错误:

debugger invoked on a LOAD-SYSTEM-DEFINITION-ERROR in thread #<THREAD "main thread" RUNNING {1002A8AF63}>: 
Error while trying to load definition for system bordeaux-threads from
pathname /home/deepchand/quicklisp/dists/quicklisp/software/bordeaux-threads-v0.8.5/bordeaux-threads.asd: 
READ error during COMPILE-FILE: 
You need ASDF >= 3.1 to load this system correctly.
(in form starting at line: 1, column: 0, file-position: 0)

如何更新 asdf 以解决此错误?

【问题讨论】:

  • 遇到此类错误请提供(lisp-implementation-type)(lisp-implementation-version)的结果。
  • @coredump 结果:(lisp-implementation-type) "SBCL" 0] (lisp-implementation-version) "1.1.14.debian" 0]
  • 我建议只获取更新版本的 SBCL (1.3.20)。但我仍然想要这个问题的答案:)

标签: lisp common-lisp asdf


【解决方案1】:

对于其他 lisp 实现,比如 LispWorks,你可以通过从 asdf 网站下载 asdf.lisp 3.1 或更高版本,然后将

(load "asdf.lisp")

在加载 quicklisp 之前的初始化文件中。 LispWorks[1] 建议你也这样做

(provide "asdf")

为我工作。

[1]http://www.lispworks.com/documentation/lw61/LW/html/lw-312.htm

【讨论】:

    【解决方案2】:

    https://common-lisp.net/project/asdf/asdf.html#Upgrading-ASDF

    你可以

    从 git 下载官方 tarball 或签出版本到 ~/common-lisp/asdf/。

    然后它应该在启动时找到。我想就是这样(我最近做了,不记得其他步骤了)。

    【讨论】:

      【解决方案3】:

      以下内容对我有用。

      1. https://common-lisp.net/project/asdf/asdf.html 下载您想要的 asdf.lisp 版本。就我而言,我从位于 /usr/share/common-lisp/source 的系统安装副本中复制了我的副本

      2. 将新副本放入 ~/quicklisp 目录或您的 quicklisp 所在的任何目录中,覆盖该目录中的旧 asdf.lisp。

      3. 删除 ~/quicklisp/cache 目录。

      4. 重启你的 lisp。重新填充 ~/quicklisp/cache 目录需要一些时间,所以请耐心等待。

      【讨论】:

        猜你喜欢
        • 2012-06-30
        • 2014-08-13
        • 2019-09-19
        • 2020-07-28
        • 2015-02-16
        • 2022-08-03
        • 2020-04-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多