При переходе на Windows 7 x64 у меня возникают проблемы с запуском Cygwin в этой среде. Похоже, что функция ASLR в Windows 7 является причиной. Это приводит к загрузке различных библиотек DLL по разным адресам в виртуальной памяти, и похоже, что Cygwin ожидает одинаковые базовые адреса для одних и тех же библиотек DLL в родительском и дочернем процессах, когда порождается дочерний процесс. Видимо, для этого есть специальная проверка, и отображается следующее сообщение:
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
Я попытался отключить ASLR, задав для HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages: DWORD значение 0, но, похоже, ничего не происходит: библиотеки DLL по-прежнему загружаются в случайные места (проверено выше сообщение и, посмотрев на адресное пространство обоих процессов с помощью Process Explorer)
Хотя в то же время я планирую использовать XP Mode для запуска Cygwin, он кажется немного искусственным и создает некоторые ограничения.
Кто-нибудь знает способ запуска Cygwin напрямую под Windows 7 x64?