Linux 上缺少使用 Cabal 构建 Haskell 包的本机库

Missing native library to build an Haskell package with Cabal, on Linux

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

Missing (or bad) header file

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

这确实是一个关于如何解决此类问题的一般性问题,但以下是有关我的系统的详细信息:

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

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

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

快速搜索名称 zlib.h 显示这是一个已确认的开放 Ubuntu bug