Haskell-Stack:构建期间出现访问冲突错误

标签 haskell haskell-stack

过去几天我一直在尝试使用堆栈构建我的 Haskell 项目,但遇到了访问冲突错误。据我了解,我有最新的堆栈版本和 GHC。

这一切最初都是有效的,直到我将一个库添加到我的 cabal 文件中。我现在已经将其删除,但错误仍然出现。我也恢复到我的代码确实可以工作的状态,所以我确信这是由堆栈引起的。

我尝试卸载堆栈,删除 .stack-work 并重新安装。然后进行堆栈设置。我尝试了许多命令的变体,但没有结果。

我现在也尝试使用 Stack 创建一个新项目并构建它,但我遇到了同样的问题。

stack build

Building all executables for `haskell-project' once. After a successful build of all of them, only specified executables will be rebuilt.
haskell-project-0.1.0.0: configure (exe)
Access violation in generated code when reading 000000000e58391a

--  While building custom Setup.hs for package haskell-project-0.1.0.0 using:
      C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_2.0.1.0_ghc-8.2.2.exe --builddir=.stack-work\dist\5c8418a7 configure --with-ghc=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\ghc-8.2.2\bin\ghc.EXE --with-ghc-pkg=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\ghc-8.2.2\bin\ghc-pkg.EXE --user --package-db=clear --package-db=global --package-db=C:\sr\snapshots\13cecb13\pkgdb --package-db=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\pkgdb --libdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\lib --bindir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\bin --datadir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\share --libexecdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\libexec --sysconfdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\etc --docdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\doc\haskell-project-0.1.0.0 --htmldir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\doc\haskell-project-0.1.0.0 --haddockdir=C:\Users\Michael\Desktop\haskell-project\.stack-work\install\ccbce92a\doc\haskell-project-0.1.0.0 --dependency=base=base-4.10.1.0 --dependency=containers=containers-0.5.10.2 --dependency=mtl=mtl-2.2.1-DscMMmDQUE6GBfOSl4qMUH --dependency=parsec=parsec-3.1.11-3BgBURmbRiVF8fgoxhAiBa --dependency=pretty-simple=pretty-simple-2.0.1.0-J3QTM6x6LHL5fhqavYvVhJ --dependency=text=text-1.2.2.2-9VTsh6V7U7hpagw2HDvpZ --extra-include-dirs=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\include --extra-lib-dirs=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin --extra-lib-dirs=C:\Users\Michael\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib --enable-tests --enable-benchmarks
    Process exited with code: ExitFailure 1

解决此问题或可能的原因的步骤是什么?

最佳答案

我设法为遇到同样问题的人找到临时解决方案。

我将 cabal 降级到版本 1.24.0.2,并将解析器更改为使用 GHC 版本 8.0.1(解析器:ghc-8.0.1)。

运行堆栈求解器之后,我现在可以构建了。

关于Haskell-Stack:构建期间出现访问冲突错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48232637/

相关文章:

haskell - 为什么这个单射类型族实际上不是单射的?

haskell - Stack package.yaml 文件中有什么内容?

haskell - 在 Windows 上使用 Stack 编译测试框架时找不到模块 System.Console.MinTTY.Win32

bash - 如何从 GHC/Cabal/Stack 获取错误和警告计数?

haskell - 将 +RTS 选项传递给使用 stack exec 运行的程序

haskell - Haskell 中的前缀

haskell ->>= 穷人并发单子(monad)的实现

haskell - GHC 中自动特化的传递性

haskell - 我可以在 stack.yaml 中为 "dummy"省略或指定 'resolver' 值吗

Haskell Stack 和 C 库