2016-09-22 84 views
4

當我嘗試運行棧,例如甚至只是stack --version,我得到堆棧給「使dyld:畸形的Mach-O」

dyld: malformed mach-o: load commands size (38712) > 32768 

我能做些什麼來解決這個問題。這開始出現在最近對Homebrew的更新之後。

+1

'brew重新安裝haskell-stack'現在可以運行 – eccstartup

回答

6

我猜你已經升級到macOS Sierra,因爲這條消息看起來像是在動態鏈接器中達到了新的極限。可能是因爲你的stack可執行文件與它使用的所有Haskell庫動態鏈接,已知它會超出新的限制。您可以嘗試從the Stack releases page下載osx二進制文件,我已經聽說了有關在Sierra上工作的報告(它只與系統庫動態鏈接,但與Haskell庫靜態鏈接,所以不應該爲了運行而達到極限)。請注意,您可能仍然有困難建設項目具有大量的依賴關係,到目前爲止我們還沒有解決方法。

相關:Stack issue #2577GHC issue #12479

+0

有沒有辦法讓'cabal update'或'cabal install'安裝不受此限制的版本?實際情況是,當我通過運行'cabal update'進行定期維護時,其他軟件包也會遇到這種問題,因此我的Haskell系統正在慢慢解體。 – orome

1

當我升級到macOS Sierra時,我也遇到了同樣的問題,我能夠通過安裝Haskell Platform再次運行堆棧命令。包中包含的堆棧工具似乎可行。