Не удается установить полугруппы с помощью Cabal

Я хотел бы установить 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 --version
cabal-install version 0.10.2
using version 1.10.2.0 of the Cabal library 

Я видел, что полугруппы являются зависимостью для многих зависимостей Snap, как я могу исправить эту установку?

Я запускаю ubuntu с gnome «Vous utilisez actuellement Ubuntu 10.04 LTS - le Lynx Lucide - версия вылета в апреле 2010»

Редактирует:

В файле semigroups.cabal в пакете я увидел следующее:

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

Может мне придется сделать «impl (hugs)» и вернуть что-то фальшивое? (но я понятия не имею, что это такое :))

Спасибо


person lud    schedule 24.04.2012    source источник
comment
Похоже, что пакет не тестировался на более поздних версиях GHC, и необходимо добавить XDeriveDataTypeable к его флагам .cabal.   -  person Don Stewart    schedule 24.04.2012
comment
Вы знаете, как я могу установить этот флаг?   -  person lud    schedule 24.04.2012
comment
Ой, добавлен к «своему» .cabal флагу, а не к моему. Хммм ... так что делать нечего ...   -  person lud    schedule 24.04.2012
comment
вы пробовали установить его через cabal-dev локально?   -  person Jakub Oboza    schedule 24.04.2012
comment
Я только что протестировал «cabal-dev install snap», но возникла та же проблема. Я не знаю, смогу ли я передать флаг cabal-dev. Спасибо   -  person lud    schedule 24.04.2012


Ответы (1)


Вы можете передать специфичные для ghc флаги через вызов клики.

cabal install snap --ghc-option=-XDeriveDataTypeable

Дополнительная информация об этих типах флагов находится в разделе «Программы, используемые для создания» раздела Руководство пользователя Cabal.

person John L    schedule 24.04.2012
comment
работал. когда теперь я смотрю на эту командную строку, «--ghc-option» кажется таким очевидным! ;) Спасибо - person lud; 24.04.2012