2013-01-02 30 views
1

我已经安装了带有Mac端口的软件包ccl。现在我想使用可可桥。Mac端口无法'(需要“COCOA”)Clozure Common Lisp

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. 

如果我开始ccl64sudo它的工作原理没事。但我希望能够以普通用户身份执行此操作。我应该怎么做?

+0

在mac上,您必须手动安装CCL,@Clayton Stanley如下所示。 – juanitofatas

回答

1

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

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

它被安装在应用程序文件夹和运行可可的应用程序,这样是没有问题的,因为它提供。但是,你会运行CCL的基于Cocoa的IDE版本。

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

否则,我只想从Clozure的存储库安装全新的CCL:

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

+1

该版本在新窗口中打开REPL,因此不适用于SLIME。有没有一种方法可以使Emacs的SLIME很好地工作? – kmkaplan

+0

我相信在应用程序首选项的General中有一个选项可以启动一个swank侦听器。 – Lex

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

而在~可能是最straightfoward的方式来实现你想要什么。

如果您想与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二进制文件,然后启动该文件进行编译。可能不是一个不好的方法去。

请注意,任何你这样做的方法,一旦你(require :cocoa),你将有一个单独的可可侦听器弹出,而史莱姆运行。一旦打开,我就把它移到旁边。如果你想办法(require :cocoa)后抑制这种监听器窗口,我很想知道。

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