Macos 如何在雪豹上编译Valgrind?

Macos 如何在雪豹上编译Valgrind?,macos,osx-snow-leopard,valgrind,Macos,Osx Snow Leopard,Valgrind,如何在雪豹上编译Valgrind?你不能。它还不受支持。假设您已经安装了XCode工具和一个SVN客户端,现在就可以了 去一些你保存东西的目录。 校验研磨源 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.pat

如何在雪豹上编译Valgrind?

你不能。它还不受支持。

假设您已经安装了XCode工具和一个SVN客户端,现在就可以了

去一些你保存东西的目录。 校验研磨源

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
安装它

sudo make install
运行它

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

除了迪丘(几乎)完美的答案。用于编译64位版本的valgrind(64位可执行文件需要,又名OS 10.6中的标准)。您将需要像这样运行configure:./configure--enable-only 64位

diciu的答案对于32位构建来说完美无瑕,但我无法通过修改这些指令使64位构建正常工作

找到了一些其他的工作说明

(此处复制,稍作修改,因为默认情况下,wget未安装在os x上)

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

使用--enable-only 64位配置标志,避免了必须将host\u cpu=“x86\u 64”破解到配置脚本中(使用发布的补丁diciu)

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

brew安装valgrind


更多信息请访问

一些其他信息。我了解到有些人正在使用此处提供的补丁进行编译:。我要求的是应用补丁并编译它的一步一步的过程。仅仅64位Valgrind构建就可以调试32位二进制文件吗?或者您需要编译这两个版本?如果是这样的话,您能否修改您的方法,使其编译两个版本并保持两个版本都已安装?将答案切换到这一个,因为它包含更多最新的修补程序。非常感谢。在倒数第三步:'./autogen.sh | | autoeconf-fvi'我得到了一个错误:'configure.in:1817:顶级Makefile.am:60:
pkglibdir'不是
DATA'autoeconf:automake失败的合法目录,退出状态为:1'有人在32位处理器的Snow Leopard上遇到这个3.6.1 segfaults吗。如果有人想向上游报告此情况,请随时报告。不要使用“curl>10.6.patch”,而是使用使用HTTPS的“”替换链接!带有HTTP的版本不再运行
valgrind --leak-check=full --show-reachable=yes /tmp/a.out
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
make clean
 ./configure --prefix=`pwd`/inst32
make -j 8 && make install