没有`(需要“COCOA”)`与Mac端口Clozure Common Lisp

时间:2013-01-02 09:32:18

标签: cocoa common-lisp ccl

我已经使用Mac端口安装了包ccl。现在我想使用Cocoa桥。

Welcome to Clozure Common Lisp Version 1.8  (DarwinX8664)!
? (require "COCOA")
> Error: Permission denied : #P"/opt/local/share/ccl/1.8/temp bundle64.app/Contents/252752233492590994.tem"
> While executing: %CREATE-FILE, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.

如果我使用ccl64启动sudo,它可以正常工作。但我希望能够以普通用户的身份做到这一点。我该怎么办?

2 个答案:

答案 0 :(得分:2)

svn co http://svn.clozure.com/publicsvn/openmcl/release/1.8/darwinx86/ccl

~可能是实现你想要的最直接的方式。

如果您想使用MacPorts来管理ccl(而不是上面的svn方法),那么运行

sudo chown -R $USER /opt/local/share/ccl

请注意,后一种情况确实让我有点不舒服,因为如果你尝试sudo port uninstall ccl,MacPorts并没有完全删除share / ccl目录,可能是因为(require :cocoa)调用添加了编译后的二进制文件Macports没有跟踪的目录。

要使MacAppStore版本正常工作,您可能需要找到隐藏在ccl.app目录中的ccl二进制文件,并为slime启动它。也许不是一个糟糕的方式。

请注意,无论如何执行此操作,一旦(require :cocoa),就会在slime运行时弹出单独的cocoa侦听器。一旦它打开,我就把它移到一边。如果你找到一种方法在(require :cocoa)之后压制这个监听器窗口,我有兴趣知道这一点。

但我建议使用第一种(svn)方法。这是我使用slimv的那个,它是Clozure在其下载页面上推荐的那个。

答案 1 :(得分:1)

如果您使用的是Mac,运行Clozure CL的最简单方法是从Apple的Mac App Store加载它。

https://itunes.apple.com/de/app/clozure-cl/id489900618?mt=12

这样它就会安装在Applications文件夹中并且运行Cocoa-App没有问题,因为它已经提供了。但是,您将运行基于Cocoa的IDE版CCL。

如果您从MacPorts安装CCL,我猜该应用程序不存在。您需要拥有该目录的权限才能创建必要的文件。

否则我只会从Clozure的存储库安装一个新的CCL:

http://ccl.clozure.com/download.html