2012-03-29 14 views
5

pojawia się następujący błąd kompilacji z Marka (mam cygwin.dll)Win 8, niewydolność Cygwin sterty

*** Couldn't reserve space for cygwin's heap (0x150000) in child, cygheap, Win32 error 0 
      0 [main] make 4336 sync_with_child: child 2968(0x120) died before initialization with status code 0x1 
     308 [main] make 4336 sync_with_child: *** child state waiting for longjmp 

Jak to może być rozwiązane? Dzięki

+0

Kompilowanie programu? Witaj świecie? – karlphillip

+1

no.why to jest ważne? Mam plik makefile dla niego. I działa poprawnie na win7. – Yakov

+0

Gdyby to nie było ważne, nie chciałbym o to pytać. Próbuję ustalić, czy jest to przypadkowy problem, czy jest to coś, co dzieje się konsekwentnie, i czy jest to coś, co jest odtwarzalne przy najmniejszej możliwej aplikacji. Czy mówisz mi, że kompilacja aplikacji Hello World nie powoduje tego błędu? Testowałeś to? – karlphillip

Odpowiedz

7
  • ponowne uruchomienie systemu:

Najwięcej użytkowników narzekających o tym problemie poinformował, że odchodzi po restarcie. Jeśli używasz systemu Windows 7, sprawdź komunikat od BerndP w this thread, ma kilka wskazówek związanych z dostosowywaniem ustawień pamięci wirtualnej w systemie Windows.

  • mogą być pewne oprogramowanie zakłócanie Cygwin:

This post przynosi ciekawą dyskusję losowych problemów z Cygwin. BLODA list przedstawia listę aplikacji, o których wiadomo, że powodują dziwne awarie i problemy w Cygwin.

EDIT:

Windows 8 nie został oficjalnie wydany, więc don't expect Cygwin to work on it.

Cygwin może działać we wszystkich nowoczesnych 32-bitowych wersjach systemu Windows Zawiera to, od czasu pisania tego, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 , a także 32-bitowe środowisko WOW64 w wydanych 64-bitowych wersjach systemu Windows (XP/2003/Vista/2008/7/2008 R2).

+1

Tak, ponowne uruchomienie rozwiązało ten problem na moim komputerze z Windows 8. Mam zainstalowane 16 GB pamięci RAM i być może nie było zsynchronizowane z ustawieniami pamięci wirtualnej ... –

+1

Ponowne uruchomienie nie pomogło mi ani razu na 64-bitowym komputerze z Windows 8.1 i 32 GB pamięci RAM. Naprawiono jednak poprawkę rebase. – simich

1

Pracuję z Eclipse i używam MinGW + Yagarto na Windows 8. Restart nie zrobił nic.

Rozwiązałem problem przez rozszerzenie mojej pamięci wirtualnej, która pierwotnie miała wartość 896 MB, a nie na 3000 Mb i działa prawidłowo.

12

Po prostu wpadłem na ten problem i zalecono ponowny wybór pliku msys-1.0.dll, który był przyczyną problemu.

Specjalnie użyłem funkcji ReBase.exe:

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64\ReBase.Exe 

który jest częścią v7.1 (i być może innych wersjach) z Microsoft Platform SDK available here.

wziąć kopię zapasową dll, a następnie spróbuj tego wiersza poleceń wewnątrz wiersza polecenia SDK platformy:

rebase -b 0x30000000 /path/to/msys-1.0.dll 

to rozwiązało problem dla mnie.

dla zainteresowania, moje zalecane ustawienia pamięci wirtualnej zostały ustawione na około 3 GB, a rzeczywista przydzielona pamięć wirtualna miała 6 GB.

+0

To mi się udało. Wielkie dzięki. – ereOn

+1

Miałem ten problem przez dłuższy czas, zanim w końcu zdecydowałem się spróbować naprawić rebase. To działało jak zaklęcie, chociaż nie w pełni rozumiem znaczenie adresu bazowego; Wprowadziłem kolejną na Windows 8.1 64-bit. Użyłem własnego repozytorium git, ponieważ nie mam zainstalowanego Cygwina lub podobnego. Tylko dla odniesienia, tutaj jest, gdzie czytałem o poprawce: http://jakob.engbloms.se/archives/1403. – simich

0

Ten problem można rozwiązać, zmieniając tryb zgodności gcc.exe (lub cokolwiek innego wywołanego przez make) do Windows Xp (w Właściwości-> kompatybilność) Jednak skrypt musi być wykonany jako administrator, aby uniknąć wielu potwierdzeń podczas wywoływania gcc.exe