Cygwin в соответствии с Windows 7 x64

Мигрируя на Windows 7 x64, у меня есть проблемы при выполнении Cygwin в этой среде. Похоже, что функцией ASLR Windows 7 является причина. Это заставляет различный DLLs загружаться в различных адресах в виртуальной памяти, и похоже, что Cygwin ожидает иметь те же базовые адреса для того же DLLs в родительских и дочерних процессах, когда дочерний процесс будет порожден. По-видимому, существует определенная проверка на это, и следующее сообщение отображено:

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, но это, кажется, ничего не делает: DLLs все еще загружаются в случайные места (проверенный вышеупомянутым сообщением и путем рассмотрения адресного пространства обоих Проводников Процесса использования процессов)

В то время как тем временем я - планирование использования Режима XP для выполнения Cygwin, это кажется немного искусственным, и создайте некоторые ограничения.

Кто-либо знает о способе выполнить Cygwin непосредственно в соответствии с Windows 7 x64?

6
задан 01.08.2011, 03:14

3 ответа

имел ту же проблему в соответствии с Windows 7, 64-разрядным, переосновным решает его:

4
ответ дан 07.12.2019, 16:16

Это - один из тех немногие ситуация, в которой Вам будет нужен Режим Windows XP и не Совместимость XP. Надо надеяться, Ваш процессор отвечает требованиям; Вам будет нужен процессор, который поддерживает аппаратную виртуализацию.

Быть уверенным выполнение соответствующий инструмент ниже.

  • Идентификационная утилита процессора Intel
  • Утилита совместимости системы виртуализации AMD

Обратите внимание, что Режим XP находится все еще в Режиме предвыпускной версии. По крайней мере, на моей 32-разрядной машине это ведет себя приятно. Я уверен, что у Вас будет подобный опыт в Вашем x64.

Править: Я могу только отправить одну гиперссылку на ответ, пока я больше не новый пользователь. Таким образом, ссылки идут на комментарий к этому сообщению

0
ответ дан 07.12.2019, 16:16

perlrebase (я - специалист по обслуживанию и автор),

Еще проверенный:

  • Если Вы все еще получаете ошибки ветвления, попытайтесь очистить флаг ASLR в dll's.
    peflags-d0 во всем dll's (например, Ваш rebase.lst)

Я пробую это теперь, и если помогает, что я выпущу новую версию жемчуга.

1
ответ дан 07.12.2019, 16:16

Теги

Похожие вопросы