haskell - “Unable to load package ` 正则表达式 posix ` … unknown symbol ‘regerror’”

标签 haskell ghc haskell-stack threepenny-gui

对于一个新项目,我一直在尝试构建 threepenny-gui包,我过去做过很多次没有任何问题的东西。然而,这一次,我遇到了一个不寻常的错误消息:

> stack build
threepenny-gui     > configure
threepenny-gui     > Configuring threepenny-gui-0.9.0.0...
threepenny-gui     > build
threepenny-gui     > Preprocessing library for threepenny-gui-0.9.0.0..
threepenny-gui     > Building library for threepenny-gui-0.9.0.0..
threepenny-gui     > [ 1 of 29] Compiling Foreign.JavaScript.Include
threepenny-gui     > [ 2 of 29] Compiling Foreign.JavaScript.Resources
threepenny-gui     > ghc.exe: unable to load package `regex-posix-0.96.0.0'
threepenny-gui     > ghc.exe:  | C:\sr\snapshots\14724cfd\lib\x86_64-windows-ghc-8.8.4\regex-posix-0.96.0.0-11M5Q2Uki3ACYikP2WXOuq\HSregex-posix-0.96.0.0-11M5Q2Uki3ACYikP2WXOuq.o: unknown symbol `regerror'

--  While building package threepenny-gui-0.9.0.0 using:
      C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_3.0.1.0_ghc-8.8.4.exe --builddir=.stack-work\dist\29cc6475 build --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1
Progress 1/2
现在,快速谷歌显示此错误消息之前曾出现过 - 在 2010 年,之后通过 GHC 更新修复。我尝试更改 GHC 版本(上面的输出是使用 GHC 8.8.4),但它也不适用于 8.8.3 或 8.8.2。我也尝试删除 regex-posix ¹ 并重新安装它,但这也不起作用。在这一点上,我必须承认,这个错误已经完全把我难住了;有没有其他人知道可能是什么原因造成的,如果有,我该如何解决?
¹ 具体来说,我删除了 C:\sr\snapshots\14724cfd\lib\x86_64-windows-ghc-8.8.4\regex-posix-0.96.0.0-11M5Q2Uki3ACYikP2WXOuqC:\sr\snapshots\14724cfd\pkgdb\regex-posix-0.96.0.0-11M5Q2Uki3ACYikP2WXOuq.conf ,并做了 ghc-pkg unregister regex-posix .

最佳答案

turned out成为问题 regex-posix而不是 threepenny-gui .这个问题可以通过启用 Cabal 标志来修复 _regex-posix-clib .要设置它,我首先需要注销以前版本的 regex-posix :

> stack --resolver lts-16.23 exec -- ghc-pkg unregister regex-posix-0.96.0.0 --force
然后我需要用正确的标志重建它:
> stack build regex-posix-0.96.0.0 --flag regex-posix:_regex-posix-clib --resolver lts-16.23
之后stack build threepenny-gui --resolver lts-16.23那是成功的。 (出于某种原因,我需要在这些命令中明确指定解析器。)

关于haskell - “Unable to load package ` 正则表达式 posix ` … unknown symbol ‘regerror’”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64021952/

相关文章:

具有输出列表长度的 Haskell 排列

haskell - 如何访问特定矩阵元素或具有特定索引的Haskell

compiler-construction - Haskell 编译器如何处理 'where' 语句?

haskell - 在NixOS中构建Haskell Stack示例时出现“ghc-cabal:无此文件或目录”错误

haskell - 修复一个特别模糊的 Haskell 空间泄漏

haskell - Haskell 类型类的部分实例化

haskell - GHC对Haskell的实现在语义上被破坏了吗?

haskell - haskell中多个类型变量的顺序规则是什么?

haskell-stack - 如何在 haskell-stack 中设置 GHC 选项的各种方式协同工作

haskell - 无法使用堆栈构建带有模块导入的项目(在 Windows 上)