【问题标题】:Duckling Installation on Windows - Missing C library: pcre on windowsWindows 上的 Duckling 安装 - 缺少 C 库:windows 上的 pcre
【发布时间】:2018-08-16 07:42:11
【问题描述】:

我是 Haskell 的新手。我正在使用堆栈来安装一个名为小鸭的库。在 github 上,作者要求使用堆栈安装小鸭。我已经安装了堆栈并参考了github页面进行安装github link for duckling

安装步骤 - 1 - $stack 构建 在这一步中,我收到缺少 C 库的错误:pcre

我已尝试解决此问题,但我无法弄清楚该怎么做。 我做过几件事,比如从 pcre.org 下载 pcre-8.42 并将文件提取到文件夹 pcre-8.42 中。 我不知道如何从这里解决。

请帮助我,我几乎花了 4-5 个小时在这上面,但我无处可去。

谢谢, 尼尔

【问题讨论】:

  • 请帮忙!我还安装了 Visual C++。这也无济于事!!
  • AFAIR,安装pcre需要使用stack exec pacman
  • @arrowd 没有帮助,而且在执行 stack exec pacman 时会抛出错误error: no operation specified (use -h for help)
  • @arrowd :我认为我需要在执行时传递其他内容。如果你能帮助我就太好了
  • 我也尝试在 C:/sr 目录中安装 regex-pcre。它抛出错误“缺少或错误的 C 库:pcre

标签: haskell pcre rasa-nlu duckling


【解决方案1】:

欢迎来到 Unix C 标头地狱。

与太多的 Haskell 库和可执行文件一样,Duckling 依赖于拥有一套完整的 Unix C 库。 PCRE,Perl 兼容的正则表达式库是大多数 Unix 版本的标准配置,但需要在 Microsoft Windows 上手动安装。

但是,事情是这样的:PCRE 依赖于一堆在 Unix 中也总是存在的其他工具,例如 makegcc 以及 C 头文件等...

为了在 Microsoft Windows 上构建 Duckling,您需要使用其中一个工具,这些工具提供了一个可以运行 GHC 的类 Unix 环境。

我看到您已经发现了 MSys 并在其中安装了 PCRE。下一步是让stack 在这个类 Unix 环境中运行,以便它的 ghc 版本可以找到它需要的所有库。我的经验是,这通常意味着从 MSys bash 提示符重新安装堆栈——或者至少将 stack.exe 文件重新定位到 /usr/local/bin 目录,然后从 MSys bash 提示符而不是窗口命令提示符运行堆栈命令。

如果这不起作用,请尝试询问有关如何在 Windows 上使用 Unix 头文件运行堆栈的新问题,或搜索有关该主题的其他问题。

【讨论】:

  • 感谢@John F. Miller 的帮助。我在这方面做了很多尝试,现在我正在迁移到 ubuntu 云实例,这样事情会更容易。希望我的决定是正确的!
  • 如果您在 unix 上遇到问题...,您可能需要运行 sudo apt install libpcre3-dev
【解决方案2】:

打开duckling.cabal 文件并将regex-pcre 替换为regex-pcre-builtin

请看这里:http://hackage.haskell.org/package/regex-pcre-builtin

现在stack build 应该会成功完成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 2021-02-27
    • 2013-01-23
    相关资源
    最近更新 更多