cabal install agda
Ubuntu 14.04 で GHC 7.8.3 と Cabal 1.16.0.2 を使用しようとすると、互換性の問題が発生します。
問題はhaskell-src-exts-1.15.0.1
、Agda が必要とする にあるようです。そのライブラリをコンパイルすると、バージョン 7.8 での GHC の変更とHappyで生成されたコードとの互換性がないことが原因で (私は信じています) 、次のよく知られた問題に遭遇します。
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
同じ問題に遭遇します。
助言がありますか?