سؤال

لقد قمت مؤخرا بترقية نظام التشغيل الخاص بي ليوبارد الثلج، الذي كسر بلدي GHC. تمكنت من إصلاحه على جهاز واحد عن طريق إضافة أعلام من 32 بت Compiles في / 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

شكرًا!

هل كانت مفيدة؟

المحلول

تتوفر مثبتات Leopard 64 بت من نظام Haskell، اعتبارا من عام 2011.

Haskell Platform

نصائح أخرى

فهمي هو أنه في الوقت الراهن لا يمكن أن تولد GHC ثنائيات 64 بت صحيح تحت نمر الثلج. يبدو أن هذا جزئيا بسبب وجود خطأ في جيل الرابط 64 بت والجزء بسبب تغيير في Tooling Tooling. يحكي الحل البديل الذي ذكره ببساطة لتوليد هدف 32 بت وبالتالي لن يكون جزءا من أي حل فعلي لمشكلتك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top