Installation 如何使用PortacleIDE在CommonLisp中实现公共音乐?

Installation 如何使用PortacleIDE在CommonLisp中实现公共音乐?,installation,compiler-errors,common-lisp,sbcl,Installation,Compiler Errors,Common Lisp,Sbcl,我目前正试图弄清楚如何安装公共音乐库:,以便在Portacle上运行,Portacle是一个集成了Emacs和其他实现以运行公共LISP的IDE 我能够按照以下步骤成功地将Common Music的源代码树下载到我的Portacle安装目录,位于: 将目录更改为Lisp安装目录 $cd/usr/local/lisp 将shell变量CVSROOT设置为指向CVS存储库: $export CVSROOT=“:pserver:anonymous@commonmusic.cvs.sourceforge

我目前正试图弄清楚如何安装公共音乐库:,以便在Portacle上运行,Portacle是一个集成了Emacs和其他实现以运行公共LISP的IDE

我能够按照以下步骤成功地将Common Music的源代码树下载到我的Portacle安装目录,位于:

  • 将目录更改为Lisp安装目录
  • $cd/usr/local/lisp

  • 将shell变量CVSROOT设置为指向CVS存储库:
  • $export CVSROOT=“:pserver:anonymous@commonmusic.cvs.sourceforge.net:/cvsroot/commonmusic“

  • 使用cvs登录连接到Sourceforge cvs服务器,在提示输入密码时按Enter键:
  • $cvs登录 CVS密码:

  • 使用cvs签出将CM的源代码树恢复到Lisp安装目录:
  • $cvs签出-p cm

    打开我的公共Lisp REPL,portacle,我输入了(load)/usr/local/Lisp/cm/src/cm.Lisp)的等价物作为我的cm.Lisp的特定路径名

    我收到了以下错误

    加载期间的读取错误:

    在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}>
    
    行:116,列:47,文件位置:4278
    流:#
    
    [类型SB-C的条件::输入错误加载]

    如果有人熟悉CommonLisp和集成常见音乐,将不胜感激


    谢谢。

    问题是这个系统是为另一个世界编写的
    Unix文件类型
    在10年前从
    sbunix
    中删除

    这里,它用于确定路径名是否命名现有目录。 我不确定在系统加载上下文中使用
    cl-fad
    会如何工作(现在这可能会变得更简单,但这是一些工作),因此您可以内联
    cl-fad:directory-exists-p
    所做的任何事情,或者这对您来说是可行的(尽管有点黑客行为):

    您可以将
    cm.lisp
    中当前显示
    #+sbcl(eq:directory(sb-unix:unix-file-kind(namestring-dir))
    的行替换为以下内容


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

    问题是这个系统是为另一个世界编写的
    Unix文件类型
    在10年前从
    sbunix
    中删除

    这里,它用于确定路径名是否命名现有目录。 我不确定在系统加载上下文中使用
    cl-fad
    会如何工作(现在这可能会变得更简单,但这是一些工作),因此您可以内联
    cl-fad:directory-exists-p
    所做的任何事情,或者这对您来说是可行的(尽管有点黑客行为):

    您可以将
    cm.lisp
    中当前显示
    #+sbcl(eq:directory(sb-unix:unix-file-kind(namestring-dir))
    的行替换为以下内容


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

    非常感谢你!我实现了您的编辑,并且能够克服第一个错误,但是正如您所提到的,这只是冰山一角。您是否有任何参考资料或资源可供我参考,以便我可以开始进一步了解lisp文件,并最终实现我自己的修订,使其成为一个工作文件?再次感谢。对不起,我很难说,我对系统和你的背景都不太了解。非常感谢!我实现了您的编辑,并且能够克服第一个错误,但是正如您所提到的,这只是冰山一角。您是否有任何参考资料或资源可供我参考,以便我可以开始进一步了解lisp文件,并最终实现我自己的修订,使其成为一个工作文件?再次感谢。对不起,我很难说,我对系统和你的背景都不太了解。
    #+sbcl (let ((truename (probe-file dir)))
             (and truename
                  (string= (namestring truename)
                           (directory-namestring truename))))