Pau*_*l R 9 gtk haskell gtk2hs cabal
我正在开始一个有希望使用gtk2hs的新项目.但是,我无法在我相当典型的Linux机器上安装此软件包.这是失败:
[1 of 2] Compiling SetupWrapper ( /tmp/cairo-0.12.4-4201/cairo-0.12.4/SetupWrapper.hs, /tmp/cairo-0.12.4-4201/cairo-0.12.4/dist/dist-sandbox-58b5f9c6/setup/SetupWrapper.o )
/tmp/cairo-0.12.4-4201/cairo-0.12.4/SetupWrapper.hs:94:45:
Ambiguous occurrence `moreRecentFile'
It could refer to either `SetupWrapper.moreRecentFile',
defined at /tmp/cairo-0.12.4-4201/cairo-0.12.4/SetupWrapper.hs:149:1
or `Distribution.Simple.Utils.moreRecentFile',
imported from `Distribution.Simple.Utils' at /tmp/cairo-0.12.4-4201/cairo-0.12.4/SetupWrapper.hs:8:1-32
/tmp/cairo-0.12.4-4201/cairo-0.12.4/SetupWrapper.hs:95:45:
Ambiguous occurrence `moreRecentFile'
It could refer to either `SetupWrapper.moreRecentFile',
defined at /tmp/cairo-0.12.4-4201/cairo-0.12.4/SetupWrapper.hs:149:1
or `Distribution.Simple.Utils.moreRecentFile',
imported from `Distribution.Simple.Utils' at /tmp/cairo-0.12.4-4201/cairo-0.12.4/SetupWrapper.hs:8:1-32
Failed to install cairo-0.12.4
[1 of 2] Compiling SetupWrapper ( /tmp/glib-0.12.4-4201/glib-0.12.4/SetupWrapper.hs, /tmp/glib-0.12.4-4201/glib-0.12.4/dist/dist-sandbox-58b5f9c6/setup/SetupWrapper.o )
/tmp/glib-0.12.4-4201/glib-0.12.4/SetupWrapper.hs:94:45:
Ambiguous occurrence `moreRecentFile'
It could refer to either `SetupWrapper.moreRecentFile',
defined at /tmp/glib-0.12.4-4201/glib-0.12.4/SetupWrapper.hs:149:1
or `Distribution.Simple.Utils.moreRecentFile',
imported from `Distribution.Simple.Utils' at /tmp/glib-0.12.4-4201/glib-0.12.4/SetupWrapper.hs:8:1-32
/tmp/glib-0.12.4-4201/glib-0.12.4/SetupWrapper.hs:95:45:
Ambiguous occurrence `moreRecentFile'
It could refer to either `SetupWrapper.moreRecentFile',
defined at /tmp/glib-0.12.4-4201/glib-0.12.4/SetupWrapper.hs:149:1
or `Distribution.Simple.Utils.moreRecentFile',
imported from `Distribution.Simple.Utils' at /tmp/glib-0.12.4-4201/glib-0.12.4/SetupWrapper.hs:8:1-32
Failed to install glib-0.12.4
Run Code Online (Sandbox Code Playgroud)
它似乎与最近的cabal版本有关,因为之前曾经工作过.这似乎是一个已知的bug(http://trac.haskell.org/gtk2hs/ticket/1292,http://trac.haskell.org/gtk2hs/ticket/1291和http://trac.haskell.org/ gtk2hs/ticket/1289),但它已经移动数周了.我没有足够的能力建议一个好的解决方案,所以我希望你的建议.这非常烦人,因为我被困在这个重要的项目上,我很难想到我们语言的主要GUI库已经被打破了好几个星期了.
使用Cabal库/ ghc 7.4.1的1.18.1.1版本的cabal-install版本1.18.0.2
谢谢你的帮助
目前正确的解决方案是从 darcs 构建。安装说明的获取最新和最好的部分给出了详细说明;简短的版本是:
darcs get --lazy http://code.haskell.org/gtk2hs
cd gtk2hs
sh bootstrap.sh
Run Code Online (Sandbox Code Playgroud)
编辑: 2013 年 12 月开始的 gtk2hs 官方 0.12.5 版本支持 cabal 1.18,因此不再需要上述 darcs 指令。完整的安装说明仍然可以从Gtk2Hs 下载页面获取;简短的版本是:
cabal install gtk2hs-buildtools
cabal install gtk gtk3
Run Code Online (Sandbox Code Playgroud)