Windows 7 x64 में माइग्रेट करने से, मुझे इस वातावरण में Cygwin को चलाने में समस्या हो रही है। ऐसा लगता है कि विंडोज 7 का एएसएलआर फीचर इसका कारण है। यह वर्चुअल मेमोरी में विभिन्न डीएलएल को अलग-अलग पते पर लोड करने का कारण बनता है, और ऐसा लगता है कि साइगविन को माता-पिता और बच्चे की प्रक्रियाओं में समान डीएलएल के लिए एक ही आधार पते होने की उम्मीद है, जब एक बच्चे की प्रक्रिया शुरू की जाती है। जाहिरा तौर पर उसके लिए एक विशिष्ट जाँच है और निम्न संदेश प्रदर्शित होता है:
5816 [main] perl 4148 C:\Cygwin\bin\perl.exe: *** fatal error - unable to remap C:\Cygwin\lib\perl5\5.10\i686-Cygwin\auto\Data\Dumper\Dumper.dll to same address as parent(0x9A0000) != 0xB40000
मैंने HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager / Memory Management \ MoveImages को सेट करके ASLR को बंद करने का प्रयास किया: DWORD को 0, लेकिन यह कुछ भी करने के लिए प्रतीत नहीं होता है: DLL अभी भी यादृच्छिक स्थानों पर लोड किए गए हैं (ऊपर द्वारा सत्यापित) संदेश और प्रक्रिया एक्सप्लोरर का उपयोग करके दोनों प्रक्रियाओं का पता स्थान देखकर)
इस बीच मैं Cygwin चलाने के लिए XP मोड का उपयोग करने की योजना बना रहा हूं, यह थोड़ा कृत्रिम लगता है और कुछ सीमाएं बनाता है।
क्या किसी को सीधे विंडोज 7 x64 के तहत Cygwin चलाने का तरीका पता है?