4

我正在编写我的第一个 Haskell 程序,这是一个基于 Yesod 框架的 Web 应用程序。

我使用cabal configure && cabal build. 当我尝试运行可执行文件时,出现以下错误:

-bash: dist/build/MyApp/MyApp: Operation not permitted

我在 OS X Mountain Lion 上安装了 64 位 Haskell 平台(2012.2.0.0)。我原本安装的是32位的版本,但遇到同样的错误,所以我卸载了它并尝试了64位版本。

应用程序编译和链接没有错误或警告。

我什至尝试了http://reviews.cnet.com/8301-13727_7-57374676-263/workarounds-for-quarantine-bug-in-os-x-lion/中描述的修复方法,但没有任何区别。

更新:情节变厚了。源代码树实际上是在一个加密的稀疏包上(我所有的源代码都是)。当我将树复制到我的主目录时,它会编译并运行.

mount 命令不显示noexec选项:

/dev/disk2s9 on /Volumes/Personal (hfs, local, nodev, nosuid, journaled, noowners, quarantine, mounted by grk)

我不确定隔离选项,但我怀疑它来自 Symantec Endpoint Protection(我的雇主要求)。我会尝试为稀疏捆绑禁用它。

4

1 回答 1

2

我在姐妹网站 apple.stackexchange.com 上找到了答案:https ://apple.stackexchange.com/questions/64456/mount-is-adding-a-quarantine-flag-causing-bin-bash-bad-interpreter-操作

稀疏包实际上标有隔离标志。我使用以下命令卸载了卷并删除了隔离区:

xattr -d com.apple.quarantine Personal.sparsebundle

然后重新安装。问题解决了。

于 2012-10-22T12:52:08.793 回答