我cabal install agda
在 Ubuntu 14.04 上尝试使用 GHC 7.8.3 和 Cabal 1.16.0.2 时遇到了兼容性问题。
问题似乎出在haskell-src-exts-1.15.0.1
Agda 需要的 . 编译该库会遇到以下众所周知的问题(我相信),这是由Happy生成的代码与版本 7.8 中对 GHC 的更改不兼容引起的。
templates/GenericTemplate.hs:104:22:
Couldn't match expected type ‘Bool’
with actual type ‘Happy_GHC_Exts.Int#’
In the expression:
(n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#))
In a stmt of a pattern guard for
a case alternative:
(n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#))
In a case alternative:
n | (n Happy_GHC_Exts.<# (0# :: Happy_GHC_Exts.Int#))
-> (happyReduceArr Happy_Data_Array.! rule) i tk st
where
rule
= (Happy_GHC_Exts.I#
((Happy_GHC_Exts.negateInt#
((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
上面提到的文章描述了如何清理和重建包含不兼容的 Happy 生成代码的库。但是,我无法为 haskell-src-exts-1.15.0.1 完成这项工作。特别是,尝试
cabal unpack haskell-src-exts-1.15.0.1
cd haskell-src-exts-1.15.0.1
cabal clean
cabal install
遇到同样的问题。
有什么建议么?