Не могу установить Грейпфрут на Windows 10 - PullRequest
0 голосов
/ 29 августа 2018

При запуске cabal install grapefruit-ui-gtk я получаю ошибки сборки на зависимости TypeCompose. Точная команда, которую я запускаю:

cabal install grapefruit-ui-gtk

и получите следующий вывод ошибки:

Resolving dependencies...
Configuring TypeCompose-0.9.12...
Configuring hashtables-1.2.3.1...
Building TypeCompose-0.9.12...
Building hashtables-1.2.3.1...
Failed to install TypeCompose-0.9.12
Build log ( C:\Users\me\AppData\Roaming\cabal\logs\ghc-8.4.3\TypeCompose-0.9.12-4FepCXFvbF94E2D2EggnNC.log ):
Preprocessing library for TypeCompose-0.9.12..
Building library for TypeCompose-0.9.12..
src\Data\Title.hs:1:33: warning:
    -XOverlappingInstances is deprecated: instead use per-instance pragmas OVERLAPPING/OVERLAPPABLE/OVERLAPS
  |
1 | {-# LANGUAGE FlexibleInstances, OverlappingInstances, TypeOperators, TypeSynonymInstances #-}
  |                                 ^^^^^^^^^^^^^^^^^^^^
[ 1 of 10] Compiling Control.Instances ( src\Control\Instances.hs, dist\build\Control\Instances.o )
[ 2 of 10] Compiling Data.Bijection   ( src\Data\Bijection.hs, dist\build\Data\Bijection.o )
[ 3 of 10] Compiling Control.Compose  ( src\Control\Compose.hs, dist\build\Control\Compose.o )
src\Control\Compose.hs:596:10: error:
    * Could not deduce (Semigroup (Flip j o a))
        arising from the superclasses of an instance declaration
      from the context: (Applicative (j a), Monoid o)
        bound by the instance declaration
        at src\Control\Compose.hs:596:10-61
    * In the instance declaration for `Monoid (Flip j o a)'
    |
596 | instance (Applicative (j a), Monoid o) => Monoid (Flip j o a) where
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src\Control\Compose.hs:645:10: error:
    * Could not deduce (Semigroup (App f m))
        arising from the superclasses of an instance declaration
      from the context: (Applicative f, Monoid m)
        bound by the instance declaration
        at src\Control\Compose.hs:645:10-54
    * In the instance declaration for `Monoid (App f m)'
    |
645 | instance (Applicative f, Monoid m) => Monoid (App f m) where
    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
src\Control\Compose.hs:851:1: error:
    * Could not deduce (Semigroup (Arrw j f g a))
        arising from the superclasses of an instance declaration
      from the context: Monoid (j (f a) (g a))
        bound by the instance declaration
        at src\Control\Compose.hs:851:1-63
    * In the instance declaration for `Monoid (Arrw j f g a)'
    |
851 | deriving instance Monoid (f a `j` g a) => Monoid (Arrw j f g a)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cabal: Leaving directory 'C:\Users\me\AppData\Local\Temp\cabal-tmp-17748\TypeCompose-0.9.12'
Installed hashtables-1.2.3.1
cabal.exe: Error: some packages failed to install:
TypeCompose-0.9.12-4FepCXFvbF94E2D2EggnNC failed during the building phase.
The exception was:
ExitFailure 1
grapefruit-frp-0.1.0.7-28vOfRvsiGH71mjsrgG35Q depends on
grapefruit-frp-0.1.0.7 which failed to install.
grapefruit-records-0.1.0.7-Ih2DxRIbFnG7TB7BHtPbwq depends on
grapefruit-records-0.1.0.7 which failed to install.
grapefruit-ui-0.1.0.7-DMol4wZpyyFEHFP2NRKthr depends on grapefruit-ui-0.1.0.7
which failed to install.
grapefruit-ui-gtk-0.1.0.7-EsNz0f5KGlp47W2BX85WRG depends on
grapefruit-ui-gtk-0.1.0.7 which failed to install.

GHC Версия:

Система компиляции Glorious Glasgow Haskell, версия 8.4.3

Cabal версия:

cabal-install версия 2.2.0.0, скомпилированная с использованием версии 2.2.0.1 Библиотека Кабала

Что может быть причиной этой проблемы? Я попытался установить его в новом каталоге с помощью cabal init, но это, похоже, не дало никаких результатов.

1 Ответ

0 голосов
/ 29 августа 2018

Это известная проблема с TypeCompose под 8.4, которая была исправлена ​​, но еще не включена в Hackage.

Возможно, вы сможете настроить ваши cabal команды для более старой версии GHC (см. этот вопрос ), например, 8.2.2, в которой не должно быть этой проблемы.

В качестве альтернативы используйте stack, который позволит вам переключать версии GHC для каждого проекта и который обеспечит TypeCompose для 8.2.2 на LTS resolver .

...