安装Conduit库后GHC报错求助:非x86_64 PE+文件问题
解决GHC加载hashable库时的PE文件类型panic错误
问题描述
安装Conduit库后,GHC 9.4.7出现以下panic错误:
ghc-9.4.7.exe: C:\cabal\store\ghc-9.4.7\hashable-1.4.3.0-1961fe79003fd705645c177b7f4aca0399a4d276\lib\libHShashable-1.4.3.0-1961fe79003fd705645c177b7f4aca0399a4d276.a(#7:LowLevel.o): Not a x86_64 PE+ file. ghc-9.4.7.exe: Unknown COFF 4 type in getHeaderInfo. panic! (the 'impossible' happened) GHC version 9.4.7: loadArchive "C:\\cabal\\store\\ghc-9.4.7\\hashable-1.4.3.0-1961fe79003fd705645c177b7f4aca0399a4d276\\lib\\libHShashable-1.4.3.0-1961fe79003fd705645c177b7f4aca0399a4d276.a": failed Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
解决方案
这类错误大多是Cabal缓存的库文件损坏,或者编译架构不匹配导致的,按以下步骤排查:
清理损坏的缓存文件
直接删除报错的hashable库缓存目录(Windows命令行执行):rmdir /s /q C:\cabal\store\ghc-9.4.7\hashable-1.4.3.0-1961fe79003fd705645c177b7f4aca0399a4d276或者清理整个Cabal缓存后重新构建:
cabal clean cabal build验证编译架构一致性
检查你的GHC是否为x86_64版本:ghc --info | findstr "Arch"确保输出包含
x86_64,如果系统中存在32位工具链,可能会导致交叉编译混淆,需确保所有依赖都用同架构编译。重新安装hashable库
单独重新安装hashable库(指定版本确保匹配):cabal install hashable-1.4.3.0 --reinstall之后再重新安装Conduit:
cabal install conduit检查VSCode Haskell插件配置
确认VSCode的Haskell插件使用的GHC路径和命令行版本一致,避免插件调用了不同版本的编译器导致兼容性问题。
内容的提问来源于stack exchange,提问作者nadia
相关产品推荐
相关产品推荐

