2010-02-18 14 views

risposta

7

FYI, Valgrind 3.6 (rilasciato 21 ottobre 2010) ufficialmente supporti Snow Leopard out-of-the-box.

http://valgrind.org/docs/manual/dist.news.html

+0

3.6.1 segfaults su Snow Leopard su processore a 32 bit. Se qualcuno ha voglia di riferire questo a monte, sentiti libero di farlo. –

0

Non è possibile. Non è ancora supportato.

+1

Ho letto alcune persone sono compilarlo utilizzando alcuni patch. –

+0

Alcune informazioni aggiuntive. Ho letto che alcune persone lo stanno compilando usando una patch disponibile qui: https://bugs.kde.org/show_bug.cgi?id=205241. Quello che sto richiedendo è il processo passo-passo di applicare la patch e compilarla. –

23

Supponendo di avere gli strumenti XCode installati e un client SVN, ecco qui.

andare a qualche directory tenere roba in. Fonti valgrind Acquista

svn co svn://svn.valgrind.org/valgrind/tags/VALGRIND_3_5_0 valgrind 

Scarica 10,6 patch di Greg Parker

curl http://bugsfiles.kde.org/attachment.cgi?id=36999 > 10.6.patch 
mv 10.6.patch ./valgrind 

Applicare la patch

cd valgrind 
patch -p0 < 10.6.patch 

Compile valgrind

./autogen.sh 
./configure 
make 

Installarlo

sudo make install 

Run it

valgrind --leak-check=full --show-reachable=yes /tmp/a.out 
+0

Invece di "curl http://bugsfiles.kde.org/attachment.cgi?id=36999> 10.6.patch", sostituisci il link con "https://bugsfiles.kde.org/attachment.cgi?id=36999 "che usano HTTPS! La versione con HTTP non viene più eseguita – Gabrer

5

Oltre al (quasi) perfetta risposta di diciu. Per compilare una versione a 64 bit di valgrind (richiesta per eseguibili a 64 bit, ovvero lo standard in OS 10.6). Dovrai eseguire configure in questo modo: ./configure --enable-only64bit

2

La risposta di diciu ha funzionato perfettamente per un build a 32 bit, ma non ho potuto ottenere una build a 64 bit adattando quelle istruzioni.

Trovato alcune altre istruzioni di lavoro per ottenere uno 64bit build of valgrind però.

(replicato qui, leggermente adattata, poiché wget non è installato di default su OS X)

svn co -r 11104 svn://svn.valgrind.org/valgrind/trunk valgrind 
cd valgrind 
curl http://bugsfiles.kde.org/attachment.cgi?id=40091 -o snow-leopard.patch 
curl http://bugsfiles.kde.org/attachment.cgi?id=40900 -o arc4random.patch 
curl http://bugsfiles.kde.org/attachment.cgi?id=42530 -o sidt.patch 
curl http://bugsfiles.kde.org/attachment.cgi?id=42892 -o signal.patch 
patch -p0 < snow-leopard.patch 
patch -p0 < arc4random.patch 
patch -p1 < signal.patch 
cd VEX; patch -p0 < ../sidt.patch ; cd .. 
touch darwin10-drd.supp 
touch darwin10.supp 
./autogen.sh || autoreconf -fvi 
./configure --prefix=`pwd`/inst64 --build=amd64-darwin 
make -j 8 && make install 

Edit: in risposta alle osservazioni, di avere sia 32 che 64 bit anche fare i seguenti comandi: (si noti che non ho bisogno di un valgrind 32 bit, quindi non ho provato questo, ma dovrebbe funzionare)

make clean 
./configure --prefix=`pwd`/inst32 
make -j 8 && make install 

Entrambi saranno situati in inst32/e inst64/dopo.

+0

Solo la build Valgrind a 64 bit funziona per il debug di file binari a 32 bit? O hai bisogno di compilare entrambe le versioni? In tal caso, potresti modificare il tuo metodo in modo che compili entrambe le versioni e mantenga entrambi installati? –

+0

Cambia il segno di risposta su questo, poiché contiene patch più aggiornate. Grazie! –

+0

sul terzo all'ultimo passaggio: './autogen.sh || autoreconf -fvi ' Viene visualizzato l'errore:' configure.in:1817: il livello superiore Makefile.am:60: 'pkglibdir 'non è una directory legittima per' DATA' autoreconf: automake non riuscito con stato di uscita: 1 ' Chiunque incontri questo? – DilithiumMatrix

2

Utilizzando la bandiera configure --enable-only64bit evitato dover mettere mano host_cpu = "x86_64" nello script di configurazione (l'uso del cerotto diciu pubblicato)

Problemi correlati