विंडोज 7 x64 के तहत साइगविन


6

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 चलाने का तरीका पता है?


क्या आपने "संगतता मोड" में साइगविन चलाने की कोशिश की है?
रूबेन

हाँ। प्रशासक के रूप में भी (यानी उन्नत मोड में)। दोनों में से कोई भी मदद नहीं करता :(
रोमन

जवाबों:



1

Perlrebase (मैं अनुचर और लेखक हूं)

अभी तक सत्यापित नहीं:

  • यदि आप अभी भी कांटा त्रुटियां प्राप्त करते हैं, तो dll में ASLR ध्वज को साफ़ करने का प्रयास करें।
    peflags -d0 सभी dll's में (जैसे आपका rebase.lst)

मैं अब यह कोशिश कर रहा हूं, और अगर यह मदद करता है तो मैं एक नया पर्ल संस्करण जारी करूंगा।


क्या आप बता सकते हैं कि वास्तव में ओपी कैसे मदद करता है?
कनाडाई ल्यूक

0

यह उन कुछ परिस्थितियों में से एक है जिनमें आपको Windows XP मोड की आवश्यकता होगी , और XP संगतता नहीं। उम्मीद है कि आपका प्रोसेसर आवश्यकताओं को पूरा करता है; आपको एक प्रोसेसर की आवश्यकता होगी जो हार्डवेयर वर्चुअलाइजेशन का समर्थन करता है।

नीचे उपयुक्त उपकरण चलाने के लिए सुनिश्चित करें।

  • इंटेल प्रोसेसर पहचान उपयोगिता
  • AMD वर्चुअलाइजेशन सिस्टम संगतता उपयोगिता

नोट XP मोड अभी भी जारी किए गए उम्मीदवार मोड में है। कम से कम मेरे 32-बिट मशीन पर यह अच्छी तरह से व्यवहार करता है। मुझे विश्वास है कि आपको अपने x64 पर इसी तरह का अनुभव होगा।

संपादित करें: मैं प्रति उत्तर केवल एक हाइपरलिंक पोस्ट कर सकता हूं जब तक कि मैं एक नया उपयोगकर्ता नहीं हूं। तो लिंक इस पोस्ट के लिए एक टिप्पणी पर चलते हैं



आपने कहा था कि आप इसकी योजना बना रहे थे, पहले से ही इसे XP मोड के तहत नहीं चला रहे थे। किसी भी मामले में संभवतः क्या सीमाएं हो सकती हैं? XP मोड एक पूर्ण वर्चुअलाइजेशन मोड है। कार्यक्रम में यह जानने का कोई तरीका नहीं है कि यह एक VM वातावरण में है।
एक बौना

यह मूल प्रश्न के लिए अप्रासंगिक है, लेकिन अगर यह किसी के लिए उपयोगी हो सकता है, तो यहां मेरे लिए XP मोड में चलने की सीमाएं हैं: a) x64 मोड Win7 XP मोड में उपलब्ध नहीं है b) वहाँ केवल एक सीपीयू उपलब्ध है ग) एक विशेष उपकरण स्थानीय डिस्क के साथ मैप किए गए "नेटवर्क" डिस्क की तुलना में अलग तरीके से काम करता है, और इसलिए मुझे इसे मुख्य मशीन पर चलाने की आवश्यकता है। इन सभी समस्याओं का एक समाधान है या इसे सहन किया जा सकता है, लेकिन वास्तविक समाधान को प्राथमिकता दी जाती है
रोम में
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.