2009-11-14 8 views
7

मैंने हाल ही में अपने ओएस को हिम तेंदुए में अपग्रेड कर दिया है, जिसने मेरा जीएचसी तोड़ दिया। मैं/usr/bin/ghc में 32-बिट संकलन के लिए झंडे जोड़कर इसे एक मशीन पर ठीक करने में सक्षम था (here से एकत्रित कुछ -opt-m32 -opta -m32 -optc -m32)। अब मैं इसे अपनी दूसरी मशीन के लिए 64-बिट बाइनरी बनाने के लिए नहीं मिल सकता, जो 64-बिट्स का समर्थन करता है। 32-बिट झंडे तोड़ते हैं, और उन्हें भी हटाते हैं। कोई सुझाव?हिम तेंदुए के लिए जीएचसी से 64-बिट बाइनरी कैसे प्राप्त करें?

जब मैं मैं इस तरह सामान मिल संकलित करने के लिए प्रयास करें:

/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 

धन्यवाद!

उत्तर

1

मेरी समझ यह है कि फिलहाल ghc हिम तेंदुए के नीचे सही 64 बिट बाइनरी उत्पन्न नहीं कर सकता है। यह 64 बिट लिंक पीढ़ी में और बग की वजह से मूल टूलचेन में बदलाव के कारण भाग में प्रतीत होता है। आपके द्वारा उल्लेख किए गए कामकाज में यह 32 बिट लक्ष्य उत्पन्न करने के लिए कहता है और इस प्रकार आपकी समस्या के किसी भी वास्तविक समाधान का हिस्सा नहीं होगा।

+0

लेम के रूप में, उपलब्ध हैं! मुझे लगता है मुझे अपनी 32-बिट मशीन पर विकसित करना होगा। प्रतिक्रिया के लिए धन्यवाद, अगर मैं कल तक कुछ और वादा नहीं करता हूं तो मैं इसे उत्तर के रूप में चिह्नित करूंगा^_^ –

+0

@ paul.meier: आप अभी भी 64-बिट मशीन पर काम कर सकते हैं। आपको बस जीएचसी 32-बिट बाइनरी उत्पन्न करने की आवश्यकता है। मेरे पास हिम तेंदुए के साथ मेरे कोर 2 डुओ मैकबुक प्रो पर जीएचसी है और यह उपयुक्त झंडे सेट के साथ बस ठीक है। – Chuck

संबंधित मुद्दे