cabal-install安装失败

我正在尝试安装xmonad。 所以首先,我使用以下命令来安装ghc编译器:

zypper ar http://download.opensuse.org/repositories/devel:/languages:/haskell/openSUSE_12.1/devel:languages:haskell.repo zypper in ghc 

之后,我尝试使用以下命令安装cabal-install-0.14.0:

 wget http://hackage.haskell.org/packages/archive/cabal-install/0.14.0/cabal-install-0.14.0.tar.gz tar zxfv cabal-install-0.10.2.tar.gz cd cabal-install-0.10.2 sh bootstrap.sh 

但是,当我运行最后一个命令,它得到了错误:

 Setup: The program hsc2hs is required but it could not be found Error during cabal-install bootstrap: Building the network package failed. 

显然,我需要hsc2hs程序,我可以在目录“/usr/lib/ghc-7.4.2/hsc2hs”中看到它,所以我将这个目录添加到PATH中。 但它仍然不起作用。

有没有人可以给我一些build议? 谢谢。

PS:我的操作系统是openSUSE 12.1

一些想法:

  1. 我相信有一个叫做haskell-platform的zypper包。 如果你安装它,它会为你安装和配置cabal-install和其他一些工具。 它可能会为您解决hs2sc问题。

  2. xmonad是否有zypper软件包? 如果是这样,我建议你使用,而不是试图直接使用cabal。

基本上有三种在Linux上安装Haskell的主要方法。

选项1(建议大多数用户):使用你的Linux发行版的软件包管理器来安装,而不是直接使用cabal命令。 如果你想要的软件包在你的发行版上还不可用,请求它。 这种方法是最安全的,因为所有的依赖关系都已经为你解决了。 缺点是你通常不会有最新版本。 您仍然可以将cabal命令用于开发的任何软件包。

选项2:使用你的软件包管理器来安装ghc和haskell-platform,但之后使用cabal命令安装任何haskell-y的东西。 你仍然会使用你的软件包管理器来安装无法使用cabal安装的东西(例如,非haskell的东西)。 如果你这样做的话,你可以通过从不运行cabal(或者配置cabal-install来以root身份安装所有东西 )来避免很多cabal地狱,并且不要让你的包管理器做任何可以用cabal来完成的事情。 这种方法的主要缺点是你可能不得不自己处理一些库依赖关系。

选项3:手动安装ghc(以及可选的Haskell平台),然后使用cabal-install( cabal命令)安装您需要的所有内容。 如果你真的想保持一切的最前沿,你不介意手动安装的东西,这是一个可行的选择。