无法在Mac OS X Mavericks上安装Fay

时间:2013-12-26 12:55:09

标签: macos haskell installation cabal fay

我正在尝试cabal install fay fay-base。但它失败了,这是日志:

$ cabal install fay fay-base
Resolving dependencies...
Configuring pretty-show-1.6.3...
Building pretty-show-1.6.3...
Preprocessing library pretty-show-1.6.3...
[1 of 6] Compiling Paths_pretty_show ( dist/build/autogen/Paths_pretty_show.hs, dist/build/Paths_pretty_show.o )
[2 of 6] Compiling Text.Show.Value  ( Text/Show/Value.hs, dist/build/Text/Show/Value.o )
[3 of 6] Compiling Text.Show.PrettyVal ( Text/Show/PrettyVal.hs, dist/build/Text/Show/PrettyVal.o )
[4 of 6] Compiling Text.Show.Html   ( Text/Show/Html.hs, dist/build/Text/Show/Html.o )

Text/Show/Html.hs:106:1: Warning: Defined but not used: `tallTuple'
[5 of 6] Compiling Text.Show.Parser ( dist/build/Text/Show/Parser.hs, dist/build/Text/Show/Parser.o )
[6 of 6] Compiling Text.Show.Pretty ( Text/Show/Pretty.hs, dist/build/Text/Show/Pretty.o )
[1 of 6] Compiling Paths_pretty_show ( dist/build/autogen/Paths_pretty_show.hs, dist/build/Paths_pretty_show.p_o )
clang: warning: argument unused during compilation: '-nodefaultlibs'
[2 of 6] Compiling Text.Show.Value  ( Text/Show/Value.hs, dist/build/Text/Show/Value.p_o )
clang: warning: argument unused during compilation: '-nodefaultlibs'
[3 of 6] Compiling Text.Show.PrettyVal ( Text/Show/PrettyVal.hs, dist/build/Text/Show/PrettyVal.p_o )
clang: warning: argument unused during compilation: '-nodefaultlibs'
[4 of 6] Compiling Text.Show.Html   ( Text/Show/Html.hs, dist/build/Text/Show/Html.p_o )

Text/Show/Html.hs:106:1: Warning: Defined but not used: `tallTuple'
clang: warning: argument unused during compilation: '-nodefaultlibs'
[5 of 6] Compiling Text.Show.Parser ( dist/build/Text/Show/Parser.hs, dist/build/Text/Show/Parser.p_o )
clang: warning: argument unused during compilation: '-nodefaultlibs'
[6 of 6] Compiling Text.Show.Pretty ( Text/Show/Pretty.hs, dist/build/Text/Show/Pretty.p_o )
clang: warning: argument unused during compilation: '-nodefaultlibs'
In-place registering pretty-show-1.6.3...
Preprocessing executable 'ppsh' for pretty-show-1.6.3...
[1 of 1] Compiling Main             ( bin/ppsh.hs, dist/build/ppsh/ppsh-tmp/Main.o )
Linking dist/build/ppsh/ppsh ...
Running Haddock for pretty-show-1.6.3...
Preprocessing library pretty-show-1.6.3...
Haddock coverage:
   0% (  0 /  8) in 'Paths_pretty_show'
 100% (  3 /  3) in 'Text.Show.Value'
  50% (  1 /  2) in 'Text.Show.PrettyVal'

dist/build/tmp-6355/Text/Show/Html.hs:106:1: Warning:
    Defined but not used: `tallTuple'
  71% (  5 /  7) in 'Text.Show.Html'
   0% (  0 /  2) in 'Text.Show.Parser'
  81% ( 21 / 26) in 'Text.Show.Pretty'
Documentation created: dist/doc/html/pretty-show/index.html
Preprocessing executable 'ppsh' for pretty-show-1.6.3...
Installing library in
/Users/arthurfayzrakhmanov/Library/Haskell/ghc-7.6.3/lib/pretty-show-1.6.3/lib
Installing executable(s) in
/Users/arthurfayzrakhmanov/Library/Haskell/ghc-7.6.3/lib/pretty-show-1.6.3/bin
Warning: The directory
/Users/arthurfayzrakhmanov/Library/Haskell/ghc-7.6.3/lib/pretty-show-1.6.3/bin
is not in the system search path.
Registering pretty-show-1.6.3...
Installed pretty-show-1.6.3
Configuring type-eq-0.4...
Building type-eq-0.4...
Preprocessing library type-eq-0.4...
[1 of 7] Compiling Type.Eq.Higher[boot] ( Type/Eq/Higher.hs-boot, dist/build/Type/Eq/Higher.o-boot )
[2 of 7] Compiling Type.Eq[boot]    ( Type/Eq.hs-boot, dist/build/Type/Eq.o-boot )
[3 of 7] Compiling Type.Eq.Unsafe   ( Type/Eq/Unsafe.hs, dist/build/Type/Eq/Unsafe.o )
[4 of 7] Compiling Type.Eq.Higher.Unsafe ( Type/Eq/Higher/Unsafe.hs, dist/build/Type/Eq/Higher/Unsafe.o )
[5 of 7] Compiling Type.Eq          ( Type/Eq.hs, dist/build/Type/Eq.o )
[6 of 7] Compiling Type.Eq.Higher   ( Type/Eq/Higher.hs, dist/build/Type/Eq/Higher.o )

Type/Eq/Higher.hs:72:86:
    Illegal literal in type (use -XDataKinds to enable): 1
Failed to install type-eq-0.4
Updating documentation index
/Users/arthurfayzrakhmanov/Library/Haskell/doc/index.html
cabal: Error: some packages failed to install:
fay-0.18.1.3 depends on type-eq-0.4 which failed to install.
fay-base-0.18.0.0 depends on type-eq-0.4 which failed to install.
haskell-names-0.3.2.4 depends on type-eq-0.4 which failed to install.
type-eq-0.4 failed during the building phase. The exception was:
ExitFailure 1

请帮忙。

3 个答案:

答案 0 :(得分:5)

最后,我这样做了:

  • 使用sudo /Library/Haskell/bin/uninstall-hshttps://stackoverflow.com/a/6996284/1749901
  • 卸载整个平台
  • 然后this tutorial首先通过brew install apple-gcc42
  • 安装了apple-gcc42
  • 然后将其与brew link apple-gcc42
  • 相关联
  • 通过brew install haskell-platform
  • 安装平台
  • cabal update
  • cabal install cabal-install
  • 添加到路径$HOME/.cabal/bin(而不是$HOME/Library/Haskell/bin,以防通过PKG安装程序从here安装平台,显然是因为brew配置有点不同)。
  • source ~/.bash_profile,然后重新启动终端,因此which cabal指向<HOME>/.cabal/bin/cabalcabal --version显示 1.18 (不是1.16)。
  • cabal install happy。此时我又重新启动了终端,因为which happy指向本地更新( 1.19.2 )版本,但happy --version显示1.16.x。
  • cabal install type-eq - SUCCEEDED 第一次!
  • 最后,cabal install fay fay-base - 成功

    Installed fay-0.18.1.3
    Installed fay-base-0.18.0.0
    

唷!谢谢大家!

答案 1 :(得分:1)

这是Mavericks上已知的预处理器问题。查看解决方案here

这看起来像预处理器问题的原因是:

  1. 错误消息中提到的行包含CPP宏
  2. 小牛队的CPP已知问题
  3. 使用GHC 7.6.3(看起来像你正在使用的版本)的软件包在Linux上编译

答案 2 :(得分:0)

您需要做的就是将cabal安装目录添加到您的路径中!只需将其添加到.bash_profile:export PATH =&#34; $ HOME / Library / Haskell / bin:$ PATH&#34;

export PATH =&#34; $ HOME / Library / Haskell / bin:$ PATH&#34;

我即将卸载整个平台,但之后我发现这适用于Mavericks。