【问题标题】:How to implement Common Music in Common Lisp using Portacle IDE?如何使用 Portacle IDE 在 Common Lisp 中实现 Common Music?
【发布时间】:2020-12-18 13:58:45
【问题描述】:

我目前正在尝试弄清楚如何安装 Common Music 库:http://commonmusic.sourceforge.net/cm2/doc/cm.html,以便在 Portacle 上运行,Portacle 是一个集成了 Emacs 和其他实现以运行 Common LISP 的 IDE。

按照这些步骤,我能够成功地将 Common Music 的源代码树下载到我的 Portacle 安装目录,在 http://commonmusic.sourceforge.net/cm2/doc/install.html#cvs 找到:

  1. 将目录更改为您的 Lisp 安装目录。

$ cd /usr/local/lisp

  1. 将 shell 变量 CVSROOT 设置为指向 CVS 存储库:

$ export CVSROOT=":pserver:anonymous@commonmusic.cvs.sourceforge.net:/cvsroot/commonmusic"

  1. 使用 cvs login 连接到 Sourceforge CVS 服务器,在提示输入密码时按 Enter:

$ cvs 登录 CVS 密码:

  1. 使用 cvs checkout 将 CM 的源代码树恢复到您的 Lisp 安装目录:

$ cvs checkout -P cm

.

打开我的 Common Lisp REPL,portacle,我为 cm.lisp 的特定路径名输入了 (load "/usr/local/lisp/cm/src/cm.lisp") 的等效项。

我收到以下错误。

LOAD 期间出现读取错误:

在 SB-UNIX 包中找不到符号“UNIX-FILE-KIND”。

Line: 116, Column: 47, File-Position: 4278

Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /usr/local/lisp/cm/cm.asd" {1004108F23}>

[SB-C::INPUT-ERROR-IN-LOAD 类型条件]

.

如果有人熟悉 Common Lisp 并集成 Common Music,我们将不胜感激。

谢谢。

【问题讨论】:

    标签: installation compiler-errors common-lisp sbcl


    【解决方案1】:

    问题是这个系统是为另一个世界而写的。 10 多年前,Unix-file-kind 已从 sb-unix 中删除。

    这里,它用于确定一个路径名是否命名了一个现有的目录。 我不确定在该系统加载上下文中使用cl-fad 将如何工作(现在这可以变得更简单,但这是一些工作),所以也许你可以内联cl-fad:directory-exists-p 所做的任何事情,或者这对你有用(虽然有点 hacky):

    #+sbcl (let ((truename (probe-file dir)))
             (and truename
                  (string= (namestring truename)
                           (directory-namestring truename))))
    

    您可以用这个替换 cm.lisp 中当前显示 #+sbcl (eq :directory (sb-unix:unix-file-kind (namestring dir))) 的行。

    ……但我认为这只是冰山一角。祝你好运!

    【讨论】:

    • 非常感谢!我实施了您的编辑并且能够克服第一个错误,但正如您所提到的,这只是冰山一角。您是否碰巧有任何可以指向我的参考资料或资源,以便我可以开始进一步识别 lisp 文件并最终实现我自己的修订以使其成为工作文件?再次感谢。
    • 对不起,我很难说,我不太了解系统和你的背景。
    猜你喜欢
    • 2017-06-08
    • 2023-03-23
    • 2020-08-16
    • 2019-01-18
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    相关资源
    最近更新 更多