在没有Haskell平台的情况下尝试在Windows上引导Haskell时,我遇到了以下错误
C:\ git\Haskell\ghc\libraries\haskeline\dist-install\build/libHShaskeline-0.7.1.2.a:无法读取符号:存档没有索引; 运行ranlib添加一个
请注意,这C:\git\Haskell\ghc是我放置ghcgit repo的地方.
但是每当我查看文件时,它似乎正在构建正确.
我已经尝试完全清理重建,并删除整个仓库并重新使用它,所有内容都不能删除任何与此构建相关的内容并重新开始.
我最终弄明白是什么导致了这个问题,当我在Windows平台上发现以下关于GHC的注意事项时,我意识到了这一点.
但是,makefile确实使用了ld和ar恰好在你的路径中.
这似乎不对,阅读配置脚本我注意到以下几行:
mingwbin="$hardtop/inplace/mingw/bin/"
LD="${mingwbin}ld.exe"
Run Code Online (Sandbox Code Playgroud)
请注意,mingwbin指的是tarball被提取到的位置.查看可执行文件的时间戳与which ld返回的版本(in /mingw/bin)不匹配.
鉴于该注释意味着在某些时候/inplace/mingw/bin/ld.exe正在使用,而在另一个点/mingw/bin/ld.exe被使用,可能导致问题.
在make解决问题之前运行以下命令.
export PATH=/c/git/Haskell/git/inplace/mingw/bin:$PATH
Run Code Online (Sandbox Code Playgroud)