Я пишу свою первую программу на Haskell, веб-приложение, основанное на фреймворке Yesod.
Я скомпилировал код, используя cabal configure && cabal build
. Когда я пытаюсь запустить исполняемый файл, я получаю следующую ошибку:
-bash: dist/build/MyApp/MyApp: Operation not permitted
Я установил 64-битную платформу Haskell (2012.2.0.0) на OS X Mountain Lion. Первоначально я установил 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 (требуется моим работодателем). Я попробую отключить его для разреженного пакета.