Haskell 如何从GHC为雪豹获取64位二进制文件?

Haskell 如何从GHC为雪豹获取64位二进制文件?,haskell,64-bit,osx-snow-leopard,ghc,haskell-platform,Haskell,64 Bit,Osx Snow Leopard,Ghc,Haskell Platform,我最近将我的操作系统升级为雪豹,这打破了我的GHC。通过在/usr/bin/ghc(类似于从中收集的-optl-m32-opta-m32-optc-m32)中为32位编译添加标志,我能够在一台机器上修复它。现在我无法让它为我的另一台支持64位的机器生成64位二进制文件。32位标志中断,删除它们也会中断。有什么建议吗 当我尝试编译时,我会得到如下内容: /var/folders/az/az3Ef9shFZq6RajmTEBwu++++TI/-Tmp-//ghc8006_0/ghc8006_0.s:

我最近将我的操作系统升级为雪豹,这打破了我的GHC。通过在/usr/bin/ghc(类似于从中收集的-optl-m32-opta-m32-optc-m32)中为32位编译添加标志,我能够在一台机器上修复它。现在我无法让它为我的另一台支持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

谢谢

我的理解是,目前ghc无法在Snow Leopard下生成正确的64位二进制文件。这似乎部分是由于其64位链接生成中的错误,部分是由于本机工具链中的更改。您提到的解决方案只是告诉它生成一个32位目标,因此不会成为您问题的任何实际解决方案的一部分。

Haskell平台的64位Snow Leopard安装程序自2011年起可用


瘸子!我想我必须在我的32位机器上开发。谢谢你的回复,如果明天之前我没有听到任何更有希望的消息,我会将其标记为已回答。^^@paul.meier:你仍然可以在64位机器上工作。您只需要让GHC生成32位二进制文件。我有GHC在我的核心2双MacBookPro与雪豹,它编译刚刚好与适当的标志设置。