2012-03-29 7 views
5

ich die folgende Fehlermeldung mit make kompilieren lassen (ich habe cygwin.dll)Win 8, Cygwin Haufen Ausfall

*** 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 

Wie es gelöst werden könnte? Dank

+0

Kompilieren welches Programm? Hallo Welt? – karlphillip

+1

no.why ist es wichtig? Ich habe ein Makefile dafür. Und es funktioniert ok auf win7. – Yakov

+0

Wenn es nicht wichtig wäre, würde ich es nicht fragen. Ich versuche herauszufinden, ob dies ein zufälliges Problem ist oder ob es etwas ist, das konsistent passiert und ob es etwas ist, das mit der kleinstmöglichen Anwendung reproduzierbar ist. Erzählst du mir, dass das Kompilieren einer Hello World-Anwendung diesen Fehler nicht auslöst? Hast du das getestet? – karlphillip

Antwort

7
  • Reboot System:

Die meisten Benutzer über dieses Problem beschwert berichtet, es geht weg nach einem Neustart. Wenn Sie Windows 7 verwenden, überprüfen Sie die Nachricht von BerndP in this thread, es gibt einige Tipps zum Anpassen der Einstellungen für den virtuellen Speicher unter Windows.

  • könnten einige Software mit Cygwin zu stören sein:

This post bringt eine interessante Diskussion über zufällige Probleme mit Cygwin. Die BLODA list präsentiert eine Liste von Anwendungen, die bekanntermaßen seltsame Fehler und Probleme in Cygwin verursachen.

EDIT:

Windows 8 nicht offiziell freigegeben worden, so don't expect Cygwin to work on it.

Cygwin erwartet werden kann auf alle modernen 32-Bit-Versionen von Windows Dies beinhaltet, wie der Zeitpunkt des Schreibens dieser, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 läuft sowie die 32-Bit-Umgebung von WOW64 auf freigegebenen 64-Bit-Versionen von Windows (XP/2003/Vista/2008/7/2008 R2).

+1

Ja, Neustart dieses Problem auf meinem Windows 8-Rechner gelöst. Ich habe 16 GB RAM installiert, und vielleicht war es nicht synchron mit meinen Einstellungen für den virtuellen Speicher ... –

+1

Neustart hat mir nicht einmal auf einer Windows 8.1 64-Bit-Maschine mit 32 GB RAM geholfen. Der Rebase-Fix funktionierte jedoch. – simich

1

Ich arbeite mit Eclipse und verwende MinGW + Yagarto unter Windows 8. Neustart hat nichts getan.

Ich löste das Problem durch die Erweiterung meines virtuellen Speichers, der ursprünglich auf 896 MB eingestellt war und nicht bei 3000 MB und funktioniert gut.

12

Ich lief gerade in dieses Problem und wurde geraten, die msys-1.0.dll, die das Problem verursachte, neu zu erstellen.

Insbesondere habe ich die Rebase.exe Werkzeug:

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

die available here Teil v7.1 (und vielleicht auch andere Versionen) von Microsoft-Plattform sdk ist.

nehmen Sie eine Sicherung der dll, und dann versuchen, diese Befehlszeile innerhalb der Plattform sdk Eingabeaufforderung:

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

dies für mich das Problem gelöst.

für Interesse, meine empfohlenen virtuellen Speichereinstellungen wurden um 3GB festgelegt, und der tatsächlich zugewiesene virtuelle Speicher war bei 6 GB.

+0

Das hat den Trick für mich getan. Danke vielmals. – ereOn

+1

Ich hatte dieses Problem für eine ganze Weile, bevor ich mich schließlich entschied, den Rebase-Fix auszuprobieren. Es funktionierte wie ein Zauber, obwohl ich die Bedeutung der Rebase-Adresse nicht vollständig verstehe; Ich habe einen anderen auf Windows 8.1 64-Bit eingegeben. Ich habe git's eigene Rebase benutzt, weil ich Cygwin oder ähnliches nicht installiert habe. Nur als Referenz, hier ist, wo ich über das Update gelesen habe: http://jakob.engbloms.se/archives/1403. – simich

0

Dieses Problem kann durch Ändern des Kompatibilitätsmodus von gcc behoben werden.exe (oder was auch immer von make aufgerufen wird) in Windows XP (in Eigenschaften-> Kompatibilität) Das Skript muss jedoch als Administrator ausgeführt werden, um mehrere Bestätigungen beim Aufruf von gcc.exe zu vermeiden