关于Cabal:Haskell Fay安装失败

Haskell fay install failed

我正在尝试安装fay,但是src编译失败,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ cabal install fay
...
Preprocessing executable 'fay' for fay-0.10.1.0...
[ 1 of 14] Compiling Data.List.Extra  ( src/Data/List/Extra.hs, dist/build/fay/fay- tmp/Data/List/Extra.o )
[ 2 of 14] Compiling System.Process.Extra ( src/System/Process/Extra.hs, dist/build/fay/fay-tmp/System/Process/Extra.o )    
...
[13 of 14] Compiling Language.Fay     ( src/Language/Fay.hs, dist/build/fay/fay-tmp/Language/Fay.o )
[14 of 14] Compiling Main             ( src/Main.hs, dist/build/fay/fay-tmp/Main.o )

src/Main.hs:89:55:
Couldn't match expected type `Either ParseError (Maybe String)'
            with actual type `Maybe b0'
Expected type: b0 -> Either ParseError (Maybe String)
  Actual type: b0 -> Maybe b0
In the first argument of `(.)', namely `Just'
In the first argument of `reader', namely `(Just . Just)'

src/Main.hs:96:35:
Couldn't match expected type `Either ParseError a0'
            with actual type `Maybe b0'
Expected type: b0 -> Either ParseError a0
  Actual type: b0 -> Maybe b0
In the first argument of `(.)', namely `Just'
In the first argument of `reader', namely
  `(Just . wordsBy (== ','))'
Failed to install fay-0.10.1.0
cabal: Error: some packages failed to install:
fay-0.10.1.0 failed during the building phase. The exception was:
ExitFailure 1

我不知道这是我的错误还是package问题。

我正在使用:arch linux,ghc-7.4.2,cabal-1.16.0.3


这绝对是一个软件包问题,因为没有足够严格地指定依赖项。如果软件包遵循软件包版本控制策略,则如果您可以满足依赖关系,则应构建软件包。

在查看fay软件包说明时,我注意到几乎没有任何依赖项具有下限或上限。因此,基本上,您将必须进行实验。

查看代码,我发现错误中提到的reader是Options.Applicative.Builder.reader。此函数已在0.4.3和0.5.0之间更改了类型签名,因此请尝试通过将--constraint"optparse-applicative < 0.5"传递给cabal install来降级optparse-applicative。