Привет, я следовал этому ответу, чтобы решить проблему с запуском приложений с графическим интерфейсом под Cygwin. Пока все выглядит нормально, но когда я пытаюсь открыть gitk он будет жаловаться на то, что не может найти здесь никакого git-репозитория. Хотя я стою в правильной папке и запускаю git из консоли, он работает (я могу нажать, вытащить и т.д.), Но gitk не запустится, так как он говорит, что здесь нет никакого git-репозитория.

Кто-нибудь знает, как это исправить?

Я набираю следующее в консоли. gitk

И вывод, который я получаю:

  0 [main] wish8.5 2260 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)
  0 [main] wish8.5 4332 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x560000)
  0 [main] wish8.5 4716 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)
  0 [main] wish8.5 4724 child_info_fork::abort: C:\cygwin\bin\libtcl8.5.dll: Loaded to different address: parent(0x520000) != child(0x410000)

1 ответ1

1

Проблема здесь заключается в ошибке ветвления: Subversion пытается запустить новый процесс, а Windows загружает новый процесс с неожиданным расположением памяти. Это одна из фундаментальных проблем, которые Cygwin пытается решить: программы Linux ожидают, что при порождении нового процесса новый процесс будет иметь ту же структуру памяти, что и старый; Windows активно меняет структуру памяти при каждом запуске нового процесса.

Документированное решение есть в Cygwin FAQ.

Короткая версия - вам нужно сделать следующее:

  • Выход из всех ваших процессов Cygwin. Это означает закрытие всех ваших окон MinTTY, выход из любых запущенных вами X-серверов и т.д.
  • Перейдите в Пуск> Выполнить (или нажмите Win+R) и запустите C:\cygwin\bin\dash .
  • В появившемся окне введите /bin/rebaseall и нажмите Return .
  • Иди приготовь себе кофе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .