0

cabal install agdaUbuntu 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

同じ問題に遭遇します。

助言がありますか?

4

1 に答える 1