Cygwin不被Cabal认可为Unix兼容性工具链

时间:2010-11-18 05:50:03

标签: haskell cygwin cabal

问候,

尝试在Windows 7和Cygwin中使用Cabal安装示例Snap Framework项目。

cabal install

在我的cygwin项目中以

结尾
  

解决依赖关系......   配置unix-2.4.1.0 ......   cabal.exe:该软件包有一个'./configure'脚本。这需要Unix   兼容性工具链,如MinGW + MSYS或Cygwin。   cabal.exe:错误:某些软件包无法安装:   proj-0.1依赖于无法安装的unix-2.4.1.0。   配置步骤中unix-2.4.1.0失败。例外是:   ExitFailure 1

可悲的是,我在cygwin里面得到了这个。

到目前为止,我发现this discussion引用了类似的问题,但是它提出的解决方案(安装MinGW)似乎有点矫枉过正,因为事情应该在cygwin中运行。

我对Haskell相当新,所以不确定我应该使用哪些conf文件或者实际的依赖项是什么。指出我正确的方向将非常感激。

5 个答案:

答案 0 :(得分:4)

您的路径中需要C:\ cygwin和C:\ cygwin \ bin。然后你可以在cmd内完成。

答案 1 :(得分:3)

如果我这样做,我会尝试使用安装文件手动安装unix软件包:

从Hackage下载unix-2.4.1.0的tar档案并将其放入cygwin的/ usr / local

> cd /usr/local
> tar xvfz unix-2.4.1.0.tar.gz
> cd unix-2.4.1.0

> runhaskell Setup.hs configure
> runhaskell Setup.hs build
> runhaskell Setup.hs install

如果这样可行,您可以返回使用Cabal自动安装Snap。

查看Snap的依赖关系,unix和unix-compat是我唯一想到的问题,其他大多数似乎都是纯Haskell库而不是FFI绑定。

答案 2 :(得分:2)

尝试使用http://andlinux.org而不是Cygwin。我觉得它更好用,更容易安装和维护,感觉更像是一个与你的Windows设置集成的linux盒子。我认为它是基于Debian的,所以如果你习惯了Ubuntu它应该是一个简单的过渡。

答案 3 :(得分:1)

此外,如果您已在Windows上安装了Git,则可以将@RequestMapping(value="/addPerson", method={RequestMethod.POST}) public String addPerson(@ModelAttribute(value="person") Person p){ service.addPerson(p); return "redirect:/overview.htm"; } 添加到C:\Program Files (x86)\Git\bin。这对我有用。

答案 4 :(得分:0)

从2011年5月起最新Haskell platform并且截至今天更新的cygwin对我来说就像是一个简单的Snap项目的魅力。