在Windows上构建GHC时出错

时间:2014-07-16 00:26:32

标签: haskell ghc

尝试在没有Haskell平台的情况下在Windows上引导Haskell时遇到以下错误

  

C:\ git \ Haskell \ ghc \ libraries \ haskeline \ dist-install \ build / libHShaskeline-0.7.1.2.a:无法读取符号:存档没有索引;运行ranlib添加一个

请注意C:\git\Haskell\ghc是放置ghc git repo。

的地方

然而,每当我查看文件时,它似乎都正确构建。

我尝试完全清理重建,并删除整个仓库并重新使用它,所有内容都不能删除任何与此构建相关的内容并重新开始。

1 个答案:

答案 0 :(得分:5)

我最终弄明白是什么导致了这个问题,当我在Windows Platform notes for GHC上发现以下通知时,我意识到了这一点。

  

然而,makefile确实使用了ld和ar恰好在你的路径中。

这看起来并不正确,在阅读配置脚本后,我注意到以下几行:

mingwbin="$hardtop/inplace/mingw/bin/"
LD="${mingwbin}ld.exe"

请注意,mingwbin指的是tar包被提取到的位置。查看可执行文件的时间戳与which ld返回的版本(/mingw/bin)不符。

鉴于该注释意味着在某个时刻/inplace/mingw/bin/ld.exe被使用,而另一个点/mingw/bin/ld.exe被使用,可能会导致问题。

make解决问题之前运行以下命令。

export PATH=/c/git/Haskell/git/inplace/mingw/bin:$PATH