2010-02-18 17 views

Respuesta

7

FYI, Valgrind 3,6 (lanzará el 21 de octubre de 2010) oficialmente soportes Snow Leopard out-of-the-box.

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

+0

3.6.1 segfaults en Snow Leopard en un procesador de 32 bits solamente. Si alguien tiene ganas de informar esto en sentido ascendente, siéntase libre de hacerlo. –

0

No puede. Aún no es compatible.

+1

leí algunas personas están compilando que el uso de algún parche. –

+0

Alguna información adicional. Leí que algunas personas están compilando usando un parche disponible aquí: https://bugs.kde.org/show_bug.cgi?id=205241. Lo que estoy solicitando es el proceso paso a paso para aplicar el parche y compilarlo. –

23

Suponiendo que tiene instaladas las herramientas XCode y un cliente SVN, aquí va.

Vaya a algún directorio que mantener las cosas en. Fuentes valgrind Pedido

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

Descarga de Greg Parker 10,6 parche

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

Aplicar el parche

cd valgrind 
patch -p0 < 10.6.patch 

Compilar valgrind

./autogen.sh 
./configure 
make 

Instalar

sudo make install 

Run que

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

En lugar de "curl http://bugsfiles.kde.org/attachment.cgi?id=36999> 10.6.patch", sustituya el enlace por "https://bugsfiles.kde.org/attachment.cgi?id=36999 "que usan HTTPS! La versión con HTTP ya no se ejecuta – Gabrer

5

Además de la (casi) perfecta respuesta de diciu. Para compilar una versión de 64 bits de valgrind (requerida para ejecutables de 64 bits, también conocido como el estándar en OS 10.6). Necesitará ejecutar configure de esta manera: ./configure --enable-only64bit

2

La respuesta de diciu funcionó a la perfección para una compilación de 32 bits, pero no pude obtener una compilación de 64 bits trabajando adaptando esas instrucciones.

Encontramos algunas otras instrucciones de trabajo para obtener un 64bit build of valgrind embargo.

(replicado aquí, ligeramente adaptado, ya que wget no se instala por defecto en 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 

Editar: en respuesta a los comentarios, tener ambos 32 y 64 bits también hacer los comandos siguientes: (tenga en cuenta que no tengo necesidad de un valgrind de 32 bits, por lo que no intente esto, pero debería funcionar)

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

Ambos se encuentran en inst32/inst64 y/después.

+0

¿Funciona solo la versión de 64 bits de Valgrind para depurar binarios de 32 bits? ¿O necesita compilar ambas versiones? Si es así, ¿podría modificar su método para que compile ambas versiones y las mantenga instaladas? –

+0

Cambió la marca de respuesta a esta, ya que contiene parches más actualizados. ¡Gracias! –

+0

en el penúltimo paso: './autogen.sh || autoreconf -fvi ' Recibo el error:' configure.in:1817: el nivel superior Makefile.am:60: 'pkglibdir 'no es un directorio legítimo para' DATA' autoreconf: automake failed with exit status: 1 ' ¿Alguien se encuentra con esto? – DilithiumMatrix

2

Usando la bandera de configuración --enable-only64bit evitar tener que cortar host_cpu = "x86_64" en el script de configuración (usando el parche diciu publicado)

Cuestiones relacionadas