在Windows上使用哪个unix兼容性工具链与cabal一起安装?

时间:2015-06-19 03:41:19

标签: windows haskell ghc haskell-platform cabal-install

尝试在win7 / 64上安装BlogLiterately

  • 已安装HP 2014.2 / 64
  • cabal update
  • cabal install cabal-install
  • 重命名为C:\Program Files\Haskell Platform\2014.2.0.0\lib\extralibs\bin\cabal.exe 到* .old
  • cabal update
  • cabal install BlogLiterately无法使用unix工具链来安装新版network
  • 尝试安装mingw,但放弃了弹出的软件包管理器只列出了后缀为32的软件包,我希望64,无法从http://www.mingw.org/告知如果它支持64位。
  • 尝试安装cygwin64,将C:\cygwin64\bin添加到PATH end ,但没有用,请在互联网上看到人们认为cygwin不再适用于ghc,即使原始错误说cygwin可以正常工作
  • 找到http://msys2.github.io/,已安装,按照说明在该页面上使用pacman进行更新,使用了Win64 Shell
  • 错误HsOpenSSL缺少c eay32 ssl32,google搜索安装http://slproweb.com/products/Win32OpenSSL.html然后cabal install HsOpenSSL --extra-include-dirs="c:/OpenSSL-Win64/include" --extra-lib-dirs="c:/OpenSSL-Win64" - 这有效,但无法找到任何正式的文档说我需要Win32OpenSSL - 为什么cabal不能为我安装这个?
  • 现在cabal install BlogLiterately无法使用ghc.exe: unable to load package 'hs-bibutils-5.5'

错误:

ghc.exe: warning: _stricmp from msvcrt is linked instead of __imp__stricmp
ghc.exe: warning: _stricmp from msvcrt is linked instead of __imp__stricmp
ghc.exe: warning: _atoi64 from msvcrt is linked instead of __imp__atoi64
ghc.exe: warning: toupper from msvcrt is linked instead of __imp_toupper
ghc.exe: warning: _strnicmp from msvcrt is linked instead of __imp__strnicmp
ghc.exe: C:\Users\nlab\AppData\Roaming\cabal\x86_64-windows-ghc-7.8.3\hs-bibutils-5.5\HShs-bibutils-5.5.o: unknown symbol `strdup'

cabal install hs-bibutils --reinstall --force-reinstalls成功,但在重试BlogLiterately安装时遇到同样的错误。我尝试将/c/Program Files/Haskell Platform/2014.2.0.0/mingw/bin移到PATH的前面并再次重新安装hs-bibutils,结果相同。

这样做的正确方法是什么?!?!我们应该使用哪个unix工具链,我们应该如何配置呢?为什么HP包含mingw的二进制文件还不够?嘎。

1 个答案:

答案 0 :(得分:0)

对于后人来说,新版本的Haskell平台for Windows(自8.0.1开始)允许网络正确构建,如果cabal文件增加了一些额外的设置,如平台网站上所述:https://www.haskell.org/platform/

Modify your cabal config file (you can verify the location by running "cabal user-config init") to contain the following lines:
extra-prog-path: C:\Program Files\Haskell Platform\8.0.1\msys\usr\bin
extra-lib-dirs: C:\Program Files\Haskell Platform\8.0.1\mingw\lib
extra-include-dirs: C:\Program Files\Haskell Platform\8.