(从git构建cabal-install)为什么模块`Distribution.Compat.Exception'不导出`SomeException'

时间:2012-06-29 11:36:10

标签: haskell cabal cabal-install

我正在尝试使用较新的cabal编译hackport(这里是来源:https://github.com/Nensha/hackport)但总是得到相同的错误:

[61 of 91] Compiling Distribution.Client.Types ( cabal/cabal-install/Distribution/Client/Types.hs, dist/build/hackport/hackport-tmp/Distribution/Client/Types.o )

cabal/cabal-install/Distribution/Client/Types.hs:33:12:
    Module
    `Distribution.Compat.Exception'
    does not export
    `SomeException'

根据Distribution.Compat.Exception,一定不能有任何问题,必须来自base但是失败。所以问题是为什么?

1 个答案:

答案 0 :(得分:2)

你的问题是那个

Hs-Source-Dirs:       ., cabal/cabal, cabal/cabal-install

有两个模块Distribution.Compat.Exception。一个在cabal/cabal下,一个在cabal/cabal-install下。后者导出SomeException,前者不导出。但编译器从Cabal库中选择了一个,但没有。也许重新排序Hs-Source-Dirs字段中的目录将是一种解决方法。

通常,在编译cabal-install时,Cabal库的源目录不可用,因此获取的Distribution.Compat.Exception是来自cabal-install的{​​{1}}。 / p>