كيفية الحصول على ثنائيات 64 بت من GHC ل Snow Leopard؟
-
20-09-2019 - |
سؤال
لقد قمت مؤخرا بترقية نظام التشغيل الخاص بي ليوبارد الثلج، الذي كسر بلدي 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.
نصائح أخرى
فهمي هو أنه في الوقت الراهن لا يمكن أن تولد GHC ثنائيات 64 بت صحيح تحت نمر الثلج. يبدو أن هذا جزئيا بسبب وجود خطأ في جيل الرابط 64 بت والجزء بسبب تغيير في Tooling Tooling. يحكي الحل البديل الذي ذكره ببساطة لتوليد هدف 32 بت وبالتالي لن يكون جزءا من أي حل فعلي لمشكلتك.