如何在Snow Leopard上编译Valgrind?

时间:2010-02-18 02:48:45

标签: macos osx-snow-leopard valgrind

如何在Snow Leopard上编译Valgrind?

7 个答案:

答案 0 :(得分:23)

假设您已经安装了XCode工具并且安装了SVN客户端,那么就可以了。

转到您保留内容的某个目录。 结帐valgrind来源

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

下载Greg Parker的10.6补丁

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

应用补丁

cd valgrind
patch -p0 < 10.6.patch

编译valgrind

./autogen.sh
./configure
make

安装

sudo make install

运行它

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

答案 1 :(得分:7)

仅供参考,Valgrind 3。3(2010年10月21日发布)正式支持Snow Leopard开箱即用。

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

答案 2 :(得分:5)

除了diciu的(几乎)完美答案。用于编译64位版本的valgrind(64位可执行文件所需,也就是OS 10.6中的标准)。您需要运行如下配置:./ configure --enable-only64bit

答案 3 :(得分:2)

对于32位构建,diciu的答案完美无瑕,但我无法通过调整这些指令来获得64位构建。

找到一些其他有关获得64bit build of valgrind的工作说明。

(在此处复制,略微适应,因为默认情况下未在os x上安装wget)

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

编辑:响应注释,让32位和64位同时执行以下命令:(请注意,我不需要32位valgrind,所以我没有尝试这个,但它应该工作)< / p>

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

两者都将位于inst32 /和inst64 /之后。

答案 4 :(得分:2)

使用--enable-only64bit配置标志避免不得不将host_cpu =“x86_64”破解到配置脚本中(使用补丁diciu发布)

答案 5 :(得分:1)

  

brew install valgrind

https://github.com/mxcl/homebrew

的更多信息

答案 6 :(得分:0)

你做不到。它尚不支持。