我正在编写我的第一个Haskell程序,这是一个基于Yesod框架的Web应用程序。在OS X上运行Haskell程序时不允许操作
我使用cabal configure && cabal build
编译了代码。当我尝试运行可执行文件,我得到以下错误:
-bash: dist/build/MyApp/MyApp: Operation not permitted
我安装OS X山狮的64位哈斯克尔平台(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(由我的雇主要求) 。我会尝试禁用它为稀疏捆绑。
您是否试过用'chmod + x dist/build/MyApp/MyApp'添加可执行权限? – dflemstr
我没有在我的问题中提到它,但文件已经可执行(rwxr-xr-x)。 – Ralph
您可以尝试编译并运行一个简单的Hello World类型的应用程序,看看它是否正常工作... – MathematicalOrchid