我最近将我的操作系统升级到Snow Leopard,这导致我的GHC出现问题。我在一个机器上通过在/usr/bin/ghc中添加32位编译标志(例如-optl -m32 -opta -m32 -optc -m32,从here获取)来修复了它。现在我无法让它为另一台支持64位的机器生成64位二进制文件。32位标志会出现错误,而删除它们也会出现错误。有什么提示吗?
当我尝试编译时,会出现这样的东西:
当我尝试编译时,会出现这样的东西:
/var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:212:0:
32-bit absolute addressing is not supported for x86-64
/var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:212:0:
cannot do signed 4 byte relocation
/var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:215:0:
32-bit absolute addressing is not supported for x86-64
/var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:215:0:
cannot do signed 4 byte relocation
谢谢!