Come ottenere i binari a 64 bit da GHC per Snow Leopard?
-
20-09-2019 - |
Domanda
Recentemente ho aggiornato il mio sistema operativo a Snow Leopard, che ha rotto la mia GHC. Sono stato in grado di risolvere il problema su una macchina da bandiere aggiungendo per 32 bit compila in / usr / bin / GHC (qualcosa come -optl -m32 -opta -m32 -optc -m32, raccolto da qui ). Ora non posso farlo per la produzione di file binari a 64 bit per la mia altra macchina, che supporta 64-bit. Le bandiere a 32 bit si rompono, e la loro rimozione rompe pure. Qualche consiglio?
Quando provo a compilare ottengo cose come questa:
/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
Grazie!
Soluzione
installatori Snow Leopard a 64 bit per la piattaforma Haskell sono disponibili, a partire dal 2011.
Altri suggerimenti
La mia comprensione è che al momento non può generare ghc corretti binari a 64 bit sotto Snow Leopard. Questo sembra essere in parte a causa di un bug nella sua generazione di collegamento a 64 bit e in parte a causa di un cambiamento nella toolchain nativo. La soluzione si parla semplicemente dice di generare un target a 32 bit e quindi non sarà parte di qualsiasi soluzione reale al problema.