Sto cercando di compilare il mio progetto C in Ubuntu (32 bit) in esecuzione in VirtualBox. Compilare il codice in questione richiede un bel po 'di memoria, almeno 3 gig. Così ho dato il concerto di VM 2. Insieme a 2 gig di spazio disponibile, dovrebbe essere sufficiente. Per qualche motivo sebbene gcc stia fallendo un errore di memoria insufficiente dopo che ha assegnato 900 megabyte. Bumping la quantità di memoria a 2,7 gig (il massimo consentito da VirtualBox) non ha aiutato. Sembra esserci un limite alla quantità di memoria che un processo può utilizzare. Ma quando corro ulimit
, mostra "illimitato".
AGGIORNARE - Ecco il registro make:
libtool: compile: cc -msse2 -I. -I / home / cleong / qb -DPHP_ATOM_INC -I / home / cleong / qb / include -I / home / cleong / qb / principale -I / home / cleong / qb -I / usr / include / php5 -I / usr / include / php5 / principale -I / usr / include / php5 / TSRM -I / usr / include / php5 / Zend -I / usr / include / php5 / ext -I / usr / include / php5 / ext / date / lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS = 64 -DHAVE_CONFIG_H -g -O2 -c /home/cleong/qb/qb_interpreter_gcc.c -fPIC -DPIC -o .libs / qb_interpreter_gcc.o
cc1: memoria esaurita che alloca 408 byte dopo un totale di 924852224 byte
make: *** [qb_interpreter_gcc.lo] Errore 1
Uscita da / bin / time -v:
Command exited with non-zero status 2
Command being timed: "make"
User time (seconds): 62.09
System time (seconds): 11.28
Percent of CPU this job got: 64%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:53.02
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1848592
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 9433
Minor (reclaiming a frame) page faults: 1391779
Voluntary context switches: 5642
Involuntary context switches: 6069
Swaps: 0
File system inputs: 630360
File system outputs: 1376
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 2
La versione di gcc è 4.7.2.
Il codice sorgente è qui:
https://github.com/chung-leong/qb
È un'estensione PHP. Il processo di compilazione utilizza phpize.
AGGIORNAMENTO - Sto riscontrando lo stesso problema in Mageia 3 a 32 bit, che include anche gcc 4.7.2. Il fallimento si verifica in circa 2,7 gig invece. In un ambiente a 64 bit, non succede.
Se installo gcc 4.6.3 e costruisco usando quello, funziona.