3

我正在尝试使用 cabal-install 安装“yi”编辑器,然后安装包“derive-2.3.0.2”。在派生的编译过程中出现以下错误:

[53 of 58] 编译 Data.Derive.Internal.Traversal (Data/Derive/Internal/Traversal.hs, dist/build/Data/Derive/Internal/Traversal.o)

数据/派生/内部/遍历.hs:34:0:
    `Applicative (Writer w)' 的非法实例声明
        (所有实例类型必须为 (T t1 ... tn)
         其中 T 不是同义词。
         如果要禁用此功能,请使用 -XTypeSynonymInstances。)
    在“Applicative (Writer w)”的实例声明中
cabal:错误:某些软件包无法安装:
derived-2.3.0.2 在构建阶段失败。例外是:
退出失败 1

当然,我尝试使用 --ghc-option=-XTypeSynonymInstances 来构建它,这反过来又产生了另一个编译错误。

我正在使用 ubuntu maverick 32 位,带有 ghc-6.12.1 和 cabal-install 0.8.2。ghc 是从包存储库安装的。Cabal 安装使用:

cabal 安装 cabal

亚历克斯。

4

2 回答 2

1

我会考虑报告错误或在haskell-cafe@haskell.org地址上询问。这应该是一个错误。您也可以尝试从Hackage安装旧版本之一。

于 2010-12-09T01:29:48.610 回答
0

我在构建派生 2.3.0.2 时遇到相同的错误(也在尝试安装 Yi 时)。和你一样,添加 TypeSynonymInstances 语言扩展只会让事情变得更糟。

虽然我同意这应该被视为一个错误,但在衍生 2.4.1 中它不是问题,它是 Hackage 的最新版本。如果你已经安装了,你可以通过下载包源并相应地更改派生依赖约束来构建 Yi。Yi 然后为我构建/运行,但我只能想象原始约束可能有一个潜在的原因(derive < 2.4)。

我没看过,但也许易的 darcs 头也解决了一些问题。

祝你好运!

于 2011-02-04T14:19:38.410 回答