半群的安装失败了

时间:2012-04-24 12:22:06

标签: haskell cabal haskell-snap-framework haskell-platform cabal-install

我想安装Snap,但我是Haskell及其平台的新手。

我使用cabal安装Snap,但无法安装半群:

% cabal install snap
Resolving dependencies...
Configuring semigroups-0.8.3...
Preprocessing library semigroups-0.8.3...
Building semigroups-0.8.3...
[1 of 4] Compiling Numeric.Natural.Internal ( Numeric/Natural/Internal.hs, dist/build/Numeric/Natural/Internal.o )
[2 of 4] Compiling Numeric.Natural  ( Numeric/Natural.hs, dist/build/Numeric/Natural.o )
[3 of 4] Compiling Data.List.NonEmpty ( Data/List/NonEmpty.hs, dist/build/Data/List/NonEmpty.o )

Data/List/NonEmpty.hs:115:4:
    Can't make a derived instance of `Data (NonEmpty a)'
      (You need -XDeriveDataTypeable to derive an instance for this class)
    In the data type declaration for `NonEmpty'

Data/List/NonEmpty.hs:115:10:
    Can't make a derived instance of `Typeable (NonEmpty a)'
      (You need -XDeriveDataTypeable to derive an instance for this class)
    In the data type declaration for `NonEmpty'

这是我的cabal版本:

% cabal --version
cabal-install version 0.10.2
using version 1.10.2.0 of the Cabal library 

我已经看到semigroups是许多Snap依赖项的依赖项,我怎么能纠正这个安装?

我在一个带有gnome的ubuntu中运行 «Vous utilisez actuellement Ubuntu 10.04 LTS - le Lynx Lucide - 版本sortie en avril 2010»

编辑:

在semigroups.cabal文件中,在包中,我看到了:

  if !impl(hugs)
    other-extensions: DeriveDataTypeable
    cpp-options: -DLANGUAGE_DeriveDataTypeable

我可能不得不让«impl(拥抱)»回归一些错误的东西? (但我不知道它是什么:))

谢谢

1 个答案:

答案 0 :(得分:2)

您可以通过cabal调用传递特定于ghc的标志

cabal install snap --ghc-option=-XDeriveDataTypeable

有关这些标志的更多信息,请参见Cabal Users Guide的“用于构建的程序”部分。