繁体   English   中英

如何在Snow Leopard上编译Valgrind?

[英]How can I compile Valgrind on Snow Leopard?

如何在Snow Leopard上编译Valgrind?

假设您已经安装了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

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

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

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

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

找到一些其他的工作指令来获得64位构建的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,所以我没有尝试这个,但它应该工作)

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

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

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

brew安装valgrind

更多信息, 访问https://github.com/mxcl/homebrew

你不能。 它尚不支持。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM