【问题标题】:Missing native library to build an Haskell package with Cabal, on Linux在 Linux 上缺少用于使用 Cabal 构建 Haskell 包的本机库
【发布时间】:2016-08-30 16:57:41
【问题描述】:

我在尝试构建依赖于本机 C 库的 Haskell 包时遇到错误,即使头文件似乎在它的位置。错误说:

Missing (or bad) header file

这个错误是什么意思?我怎样才能了解更多信息?该文件没有丢失,因为我可以在我的系统中找到它,位于/usr/include/ 下。我尝试使用--extra-include-dirs 选项将Cabal 指向我系统中存在的头文件,但我仍然收到错误消息。所以文件没有丢失,怎么可能

这确实是一个关于如何解决此类问题的通用问题,但这里是关于我的系统的详细信息:

  • 要安装的包:zlib
  • 缺少标题:zlib.h
  • 我系统中的标题位置:/usr/include/zlib.h
  • 操作系统:Ubuntu 16.04

我安装了我能找到的任何可能的 Ubuntu zlib-dev 软件包,包括 32 位版本

【问题讨论】:

  • 这是唯一的错误吗?你能运行一个详细的构建吗?
  • 你能提供整个输出,包括你的命令吗?另外,请考虑尝试仅安装 zlib(例如:cabal install zlib),而不是构建您正在工作的任何更大的项目以稍微缩小输出。
  • 我有 Ubuntu 16.04.1 LTS。我能够安装zlib。我已经安装了zlib1g-dev 系统包。
  • 感谢@n.m。提示。我再次以冗长的-v3 运行命令,我得到了/usr/include/zlib.h:34:19: fatal error: zconf.h: No such file or directory,这对故障排除更有帮助。你可以写一个答案,建议增加冗长,这就是我想要的,虽然很简单。这实际上也是阴谋集团自己在错误发生后提出的!无论如何,希望答案可以帮助其他人
  • @ThomasM.DuBuisson 的建议也很有帮助,我已经在关注了

标签: linux haskell cabal


【解决方案1】:

如果您使用 -v3 增加构建详细程度,您将收到实际的编译器错误消息。在这种情况下

/usr/include/zlib.h:34:19: fatal error: zconf.h: No such file or directory

快速搜索名称zlib.h 表明这是一个已确认打开的Ubuntu bug

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    相关资源
    最近更新 更多