2013-10-08 5 views
6

Sto cercando di installare win32-api gioiello sulla mia macchina e sto affrontando alcuni problemi durante la creazione di estensioni native:Errore durante l'installazione gemma: Non è stato possibile riservare spazio per mucchio di cygwin, errore Win32 487

$ gem install win32-api --no-ri --rdoc 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
C:\Programs\dev_kit\bin\make.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0 
ERROR: Error installing win32-api: 
     ERROR: Failed to build gem native extension. 

     c:/Programs/ruby/bin/ruby.exe extconf.rb 
checking for strncpy_s()... no 
creating Makefile 

make 
     0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 
AllocationBase 0x0, BaseAddress 0x60E90000, RegionSize 0x170000, State 0x10000 
C:\Programs\dev_kit\bin\make.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0 

Questo problema si verifica quando si installa qualsiasi gemma che tenta di compilare un'estensione nativa, come json o win32-api, per esempio.

Ho già provato a cambiare la dimensione della memoria virtuale di questa macchina, ma non ha funzionato.

La mia configurazione:

  • Rubino versione: La versione 1.8.7p371
  • Gem: 1.8.24
  • Bash 3.1.0
  • DevKit 4.5.2
  • Windows 7 x64
+0

Se le persone future non abbandonano questa domanda, provare prima a riavviare. Ho finito per disinstallare/re-installare e venire allo stesso errore ... 1 riavvio, tutto risolto. Un'altra domanda simile: http://stackoverflow.com/questions/18502999/git-extensions-win32-error-487-couldnt-reserve-space-for-cygwins-heap-win32/31970708#31970708 –

risposta

12

Ero di fronte allo stesso identico problema e dopo aver effettuato molte ricerche e molte differenze affittare tentativi, questo è quello fissato per me:

  1. Scarica rebase da http://www.tishler.net/jason/software/rebase/ (scaricare l'ultima versione * .exe) ed eseguirlo.

  2. fuoco un Prompt ("Esegui come amministratore") e andare alla cartella dev-kit (per esempio, il mio era C:\Programs\dev_kit)

  3. Mentre nella cartella DevKit, eseguire devkitvars.bat aggiungere DevKit al sentiero.

  4. Ora facciamo un cd bin (che mi ha fatto C:\Programs\dev_kit\bin) e da lì gestito:

    rebase -b 0x30000000 msys-1.0.dll 
    

tenta di installare di nuovo le gemme. Invece di vedere un messaggio di errore, ora dovresti vedere Building native extensions. This could take a while... e si bloccherà per un po 'lì.

Il tuo gioiello dovrebbe essere installato con successo dopo un paio di minuti/secondi. Niente più mal di testa :)

+2

Per me, in devkit bin directory, l'amministratore propmt non riconosce 'rebase' ... – user1364684

+0

Dopo aver eseguito questo, il problema originale è andato via, ma poi ho iniziato a vedere errori contenenti "*** modello di destinazione non contiene '%'". La soluzione più semplice che ho trovato è stata il downgrade di RubyGems usando 'gem update --system 2.3.0'. Dettagli [qui] (https://github.com/rubygems/rubygems/issues/977). – dmccabe

+0

Questo genera errori riguardo a "cygwin1.dll manca dal tuo computer" quando si tenta di eseguire rebase ... –

Problemi correlati