Podczas uruchamiania python
w cygwin pojawia się następujący błąd:
0 [main] python 6140 C:\cygwin\bin\python.exe: *** fatal error - unable to remap \\?\C:\cygwin\lib\python2.6\lib-dynload\time.dll to same address as parent: 0x2B0000 != 0x360000
Stack trace:
Frame Function Args
00288E68 6102749B (00288E68, 00000000, 00000000, 00000000)
00289158 6102749B (61177B80, 00008000, 00000000, 61179977)
0028A188 61004AFB (611A136C, 6124112C, 002B0000, 00360000)
End of stack trace
0 [main] python 9048 fork: child 6140 - died waiting for dll loading, errno 11
abort: Resource temporarily unavailable
Co to znaczy i co powinienem zrobić, aby to naprawić?
Oznacza to, że albo program innej firmy, jak skaner antywirusowy lub funkcja losowania adresów DLL, która została wprowadzona w systemie Vista, zakłóciły proces w taki sposób, że nie można go z powodzeniem rozwidlić.
Za pomocą tego
rebaseall
narzędzia można zlokalizować biblioteki DLL, aby uniknąć problemu. Jest instalowany domyślnie. Zobacz,rebaseall --help
jak z niego korzystać i/usr/share/doc/Cygwin/rebase-3.0.1.README
dodatkowe informacje. Jeśli to nie pomoże,peflagsall
warto spróbować jeszcze jednego.źródło
Miałem ten sam problem po skompilowaniu „numpy”. Dotknięta dll to mtrand.dll. Prosty
nie działał.
Pomogło to: Sprawdź, czy dll, którego dotyczy problem (w tym przypadku time.dll), jest „rebased”:
Jeśli nie, utwórz listę zawierającą pełną ścieżkę pliku dll, którego dotyczy problem. Na przykład:
Plik może także zawierać więcej bibliotek DLL, po jednym w wierszu. Wtedy zadzwoń
bez żadnych innych cygwinów, jak opisano powyżej. Time.dll powinien teraz zostać ponownie bazowany (dodatkowo do „normalnego” zestawu bazowego).
(Dziwne: w ciągu 10 lat używania cygwin z nt, windows2000, xp musiałem „dokonać zmiany bazy” tylko raz. W jeden dzień z (64-bitowym) Window-7 było to już konieczne).
źródło
Istnieje odpowiedź na problem.
Źródło: https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows)
Nie można zmienić przypisania do tego samego adresu co rodzic
Nie jest to również problem w przypadku node.js. Najpierw zainstaluj bazę → rebase przy użyciu setup.exe, a następnie zamknij wszystkie instancje Cygwin. Uruchom myślnik lub jesion (znajdujący się w katalogu bin w instalacji Cygwin) i uruchom:
Powinien zakończyć się bez błędów. Jeśli zamiast tego powyższe powoduje błąd, taki jak:
Otwórz powłokę Cygwin i uruchom:
Zamknij okno powłoki i powtórz powyższe kroki. Po zakończeniu uruchom ponownie komputer. Pamiętaj, aby zamknąć wszystkie otwarte skorupy Cygwin przed użyciem rebaseall.
źródło