cabal-install安装失败

时间:2012-08-19 06:19:17

标签: linux haskell cabal xmonad

我正在尝试安装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中添加了这个目录。但它仍然无效。

有人可以给我一些建议吗?感谢。

PS:我的操作系统是openSUSE 12.1

1 个答案:

答案 0 :(得分:1)

一些想法:

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

  2. 是否有xmonad的zypper包?如果是这样,我建议您使用它,而不是直接尝试使用cabal。

  3. 在Linux上安装Haskell主要有三种主要方式。

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

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

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