如何在Snow Leopard上编译Valgrind?
答案 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开箱即用。
答案 2 :(得分:5)
除了diciu的(几乎)完美答案。用于编译64位版本的valgrind(64位可执行文件所需,也就是OS 10.6中的标准)。您需要运行如下配置:./ configure --enable-only64bit
答案 3 :(得分:2)
找到一些其他有关获得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
答案 6 :(得分:0)
你做不到。它尚不支持。