14

如何在 Snow Leopard 上编译 Valgrind?

4

7 回答 7

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
于 2010-02-23T13:12:27.593 回答
7

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

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

于 2010-10-27T20:17:47.810 回答
5

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

于 2010-03-07T15:05:22.907 回答
2

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

于 2010-10-07T00:28:36.917 回答
2

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/ 中。

于 2010-06-07T12:31:46.160 回答
1

酿造安装 valgrind

更多信息在https://github.com/mxcl/homebrew

于 2011-03-21T03:07:43.980 回答
0

你不能。尚不支持。

于 2010-02-18T03:18:09.587 回答