문제

최근에 OS를 Snow Leopard로 업그레이드하여 GHC를 끊었습니다. /usr/bin/ghc (-optl -m32 -opta -m32 -optc -m32와 같은 것, 여기). 이제 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

감사!

도움이 되었습니까?

해결책

2011 년 현재 Haskell 플랫폼을위한 64 비트 스노우 레오파드 설치 업체를 사용할 수 있습니다.

Haskell Platform

다른 팁

내 이해는 현재 GHC가 Snow Leopard에서 올바른 64 비트 바이너리를 생성 할 수 없다는 것입니다. 이것은 부분적으로 64 비트 링크 생성의 버그와 부분적으로 기본 도구 체인의 변화로 인해 발생하는 것으로 보입니다. 당신이 언급 한 해결 방법은 단순히 32 비트 대상을 생성하라고 지시하므로 문제에 대한 실제 해결책의 일부가되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top