我正在編寫我的第一個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