Haskell Cabal:神秘缺失或递归依赖

时间:2012-03-15 17:54:18

标签: linux haskell install cabal

我尝试安装jmacro包。 它构建完美,绝对没有问题。

但是,当我想使用它或安装依赖于jmacro的happstack-jmacro这样的包时,我收到如下错误消息:

<command line>: cannot satisfy -package-id jmacro-0.5.2-71bd40707d94b0e8eb6e70515ff6a5f4: 
    jmacro-0.5.2-71bd40707d94b0e8eb6e70515ff6a5f4 is unusable due to missing or recursive dependencies:
      haskell-src-meta-0.5-4bf46b12fb313927e18a04de209944de template-haskell-2.5.0.0-f0b857ddb066aae09d974e610edd228f
    (use -v for more information)

绝对没有递归或缺少依赖项。这是一个错误吗?

我正在使用template-haskell-2.5.0.0(因为较新的版本不构建)和haskell-src-meta-0.5。 GHC为7.0.4

2 个答案:

答案 0 :(得分:11)

看起来您的包已损坏。 ghc-pkg check可能会抱怨一些包裹;如果确实如此,你可以ghc-pkg unregister <pkg>全部。否则,最好的事情可能是重新开始:保存您的~/.cabal/config文件,摆脱~/.ghc~/.cabal,然后重新安装cabal-install

像这样的Cabal问题相当普遍,所以你可能希望通过cabal-dev来减轻痛苦。

答案 1 :(得分:2)

好的,自己解决了:

有一个错误,并且在cabal的系统目录以及我的用户目录中安装了template-haskell-2.5.0.0

当我强行在我的用户目录中取消注册template-haskell时,一切都很好。