尝试构建Cabal库时GHC构建错误

时间:2010-12-10 20:51:04

标签: haskell ghc cabal

我正在尝试在我的系统上构建/安装Cabal,而且我遇到了以下依赖项错误:

SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ghc --make Setup
SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ./Setup configure
Configuring Cabal-1.8.0.4...
Setup: At least the following dependencies are missing:
base >=4 && <3 && >=1 && <5, filepath >=1 && <1.2

我安装了GHC 7.0.1,据我所知GHC 6.6.1及更高版本附带'filepath'软件包?而我还不清楚'基数'究竟是指什么?

1 个答案:

答案 0 :(得分:1)

GHC附带了一组已安装的库。当你运行build命令时,cabal想要“重新安装”GHC附带的一些旧版本的库。由于显而易见的原因,这很糟糕。

如果您确实需要这样做,可以使用cabal-dev代替Cabal。顺便说一句,使用Setup.hs调用编译器附带的Cabal库的版本,运行cabal命令时调用cabal-install程序。

cabal-dev是提供沙盒构建的cabal-install(因此Cabal库)的包装器。安全地安装需要GHC附带的不同版本库的程序。剩下的问题是这些旧图书馆是否会建立新的GHC。在许多情况下,构建将失败。

我强烈建议您使用cabal-dev代替cabal-install进行日常打包。沙盒的好处很多,并且强烈地超过了cabal-install通过在已经安装的东西的依赖关系链中间某处升级软件包来破坏软件包数据库的风险。

有关使用cabal-dev的详细信息,建议您使用此reddit post

base是一组Haskell模块,提供了每次GHC安装时附带的大部分功能。它是大多数Haskell用户想要和需要的有用库的集合。