我正在尝试编译一个带有一些 FFI 代码的 Haskell 模块。它曾经在带有 GHC 6 和自定义 GHC 7 的旧 Haskell 平台下工作以获得 64 位版本。
使用 64 位版本的 GHC 7 升级到最新的 Haskell 平台已停止工作。似乎 GCC 在处理 GHC 吐出的存根文件时遇到了一些问题——它们使用的 GHC 框架头文件在查找标准 C 文件时遇到了麻烦。这只是我遇到的众多错误之一:
/Library/Frameworks/GHC.framework/Versions/7.0.2-x86_64/usr/lib/ghc-7.0.2/include/Stg.h:62:18:
error: math.h: No such file or directory
我似乎对 32 位版本的平台也有同样的问题,并且相同的标准文件在正常的 GCC 编译中可以正常工作。为什么这不起作用?