2012-09-17 15 views
14

solo cercando di ottenere gcov installato e funzionante, ottenendo il seguente errore:gcov memoria esaurita/versione non corrispondente?

$ gcov src/main.c -o build 
build/main.gcno:version '404*', prefer '407*' 

gcov: out of memory allocating 14819216480 bytes after a total of 135168 bytes 

sto usando clang/profile_rt per generare i file gcov ha bisogno, sto supponendo che potrebbe avere qualcosa a che fare con esso. Sta funzionando sul mio altro computer, quindi, quindi presumo possa essere risolto in qualche modo.

risposta

16

Ho appena avuto lo stesso problema sulla mia macchina.

Assicurati che le tue versioni di gcov e del compilatore che utilizzi corrispondano.

Ho avuto questo problema esatto durante la compilazione con g ++ - 4.7 e ho avuto gcov 4.6.

Sulla mia macchina sudo apt-get install ggcov mi ha preso l'ultima versione. Ho quindi dovuto sudo ln -sf /usr/bin/gcov-4.7 /usr/bin/gcov fare punto gcov nel posto giusto.

+1

Grazie per l'aiuto! Ho risolto il problema eseguendo semplicemente gcov-4.7 invece di gcov. Suppongo che un approccio più elegante implicherebbe l'uso di alternative di aggiornamento, se fossi motivato. –

+0

Grazie Anthony! E 'ln -sf' può rimuovere automaticamente il vecchio gcov per te. –

+0

Grazie a @EricZ. Aggiornato: D –

5

Ho appena avuto lo stesso problema e ho installato le versioni corrette. Soluzione nel mio caso: rimuovere tutti i file *.gcda da qualsiasi sottodir compilazione. Il mio make clean non li ha coperti.

7

Il mio problema è che ho aggiornato gcc e g++ così che ho potuto usare un compilatore più recente, ma ha dimenticato di aggiornare la versione gcov significa correre "gcov" o "lcov" raccolse la versione compilatori precedenti di gcov.

Quindi, in pratica, con g++ --version e gcov --version si dovrebbe ottenere lo stesso numero di versione, altrimenti le cose andranno molto male.

Ecco come ho aggiornato la mia versione del compilatore, l'ultima riga è quello che mi mancava per far funzionare tutto.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 90 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 90 
sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.9 90