1

当我尝试使用 ghc 编译 Haskell 程序时,它总是引发相同的异常:(翻译成英文)

$ ghc vtzr.hs
Linking vtzr ...

/tmp/ghc8101_0/ghc8101_0.c:1:17:
     fatal Error: Rts.h: File or directory not found
Compilation aborted.

实际上,“Rts.h”正确地位于 /usr/lib64/ghc-7.4.2/include 所以我真的不明白编译器抱怨什么。我进一步检查了它,发现异常实际上来自 gcc 试图编译包含 Rts.h 的 tmp 文件:

*** C Compiler:
'/usr/bin/gcc' '-fno-stack-protector' '-Wl,--hash-size=31' '-Wl,--reduce-memory-overheads' '-c' '/tmp/ghc8656_0/ghc8656_0.c' '-o' '/tmp/ghc8656_0/ghc8656_0.o' '-DTABLES_NEXT_TO_CODE' '-I' '-I/usr/lib64/ghc-7.4.2/include'

我在 Mageia 3 Linux x86_64 上使用 ghc 7.4.2 和 gcc 4.7.2。也许这只是一个Mageia问题......?顺便提一句。使用 runghc 运行程序可以正常工作。

4

1 回答 1

1

好的,这似乎是 Mageia 版本的 ghc 的问题,或者是最近版本中修复的 ghc 7.4.2 错误:我刚刚从源代码构建了一个 ghc 7.6.3,它工作正常。

于 2013-10-05T12:49:38.473 回答