我是haskell的新手。我正在使用stack来安装一个名为duckling的库。在github上,作者要求使用堆栈安装小鸭子。我已经安装了这个堆栈,并参考了github的安装github link for duckling页面。
第-1步用于安装- $stack构建在此步骤中,我得到一个缺少C库的错误: pcre
我试着解决这个问题,但我不知道该怎么做。我做了几件事,比如从pcre.org下载了pcre-8.42并解压缩了文件夹pcre-8.42中的文件。我不知道从这里怎么解决。
请帮帮我,我几乎花了4-5个小时在这上面,我哪里也去不了。
谢谢,尼尔
发布于 2018-08-16 22:58:27
欢迎来到Unix C头地狱。
像太多的Haskell库和可执行文件一样,Duckling依赖于拥有一套完整的Unix C库。PCRE是大多数Unix版本上的标准Perl兼容正则表达式库,但需要在Microsoft Windows上手动安装。
但是,事情是这样的: PCRE依赖于Unix中也一直存在的一堆其他工具,如make
和gcc
以及C头文件等。
为了在Microsoft Windows上构建Duckling,您将需要使用手头上的工具之一,这些工具提供了一个类似Unix的环境,GHC可以在其中运行。
我看到您已经发现了MSys并在其中安装了PCRE。下一步是让stack
在这个类Unix的环境中运行,这样它的版本就可以找到它需要的所有库。我的经验是,这通常意味着从MSys bash提示符重新安装堆栈--或者至少将stack.exe文件重新定位到/usr/local/bin
目录,然后从MSys bash提示符而不是window命令提示符运行堆栈命令。
如果这不起作用,试着问一个关于如何在windows上用Unix头文件运行栈的新问题,或者搜索其他关于这个主题的问题。
发布于 2019-01-10 01:22:35
打开duckling.cabal文件并将regex-pcre替换为regex-pcre-builtin
查看此处:http://hackage.haskell.org/package/regex-pcre-builtin
现在stack build
应该成功完成了
https://stackoverflow.com/questions/51871998
复制相似问题