如何在Mac上构建和安装Valgrind?

问题描述 投票:24回答:5

我在Mac OS X上使用代码块10.05

我下载了Valgrind,并提取了一个文件夹。我完全迷失了,并且不知道如何构建它。

我不知道任何终端/控制台命令,并且通常是编程新手,所以我不知道如何“构建”或“编译”它。我只有一个名为Valgrind的文件夹,里面有一堆随机文件。

有人可以告诉我怎么办?我已经检查了网站/文档,但它并没有真正给我安装说明,只是使用说明。

谢谢

PS:我知道我已经发布了这个问题,但之前的问题因为太模糊而被关闭了。我重新发布了这个更多信息。

PSS:我基本上要问的是,在从网站下载并提取文件后,我该如何安装Valgrind?

build valgrind
5个回答
25
投票

Recommended:

使用brewbrew install valgrind

Manual Install:

这是我的mac(10.6)的功能。仔细检查您是否拥有最新版本(现在,3.7.0),然后更改为未压缩目录

cd /users/(insert username here)/downloads/valgrind-3.7.0

我建议你做另一个发布和阅读自述文件。

nano README

开始构建; /usr/local是程序将安装到的文件系统上的位置。有许多参数如prefix可用于自定义特定系统的安装,如果它在默认情况下不起作用。通常只使用./configure可以很好地工作。

./configure --prefix=/usr/local

make

sudo make install

或者你可以从fink或macports或自制软件中获得它。


21
投票

您可以通过brew for Mac安装它:

brew install valgrind

您可能必须手动将条目链接到/usr/local/bin,因为brew拒绝在我的情况下执行此操作:

$ ln /usr/local/Cellar/valgrind/3.8.1/bin/vgdb /usr/local/bin/vgdb
ln: /usr/local/bin/vgdb: Permission denied
$ sudo ln /usr/local/Cellar/valgrind/3.8.1/bin/vgdb /usr/local/bin/vgdb

3
投票

核心流程非常简单:

确保您在正确的目录中。

第一次运行:

./configure

完成后,运行:

make

在这一点上你需要将su变成root(这是相对棘手的,请参阅最后的注释)。以root身份运行:

make install

完成后,您将有一个有效的valgrind安装。通过运行测试它

valgrind ls -l

要将su导入root,您需要设置root帐户。如果您以前没有这样做,请参阅apple here的说明。

要执行实际的su,您首先必须运行具有管理员权限的帐户。如果您还没有这样做,可以使用以下内容切换用户:

su admin

其中admin是具有管理员权限的用户的名称(您需要输入此帐户的密码)。从那里,你可以运行su进入root:

su

您需要输入之前设置的root密码。


3
投票

On MacOS High Sierra

If you have the following error message:

brew install valgrind
valgrind: This formula either does not compile or function as expected on macOS
versions newer than Sierra due to an upstream incompatibility.

Fix

(1)要正确安装它,首先在终端输入以下命令(打开Valgrind的公式)

brew edit valgrind

并更改head部分中的URL

https://sourceware.org/git/valgrind.git

git://sourceware.org/git/valgrind.git

(2)做一个Homebrew的更新:

brew update

(3)最后,使用以下命令从HEAD安装Valgrind:

brew install --HEAD valgrind

Sources


2
投票

您可能会发现使用像macports这样的东西更容易。如何安装可能超出了这个问题的范围,但他们在他们的网站上有一个专门用于它的page

安装好macport后,需要键入:

sudo port install valgrind +universal

如你所说,你没有任何命令行经验,让我们简要介绍一下这个命令的不同部分:

  • sudo表示命令的其余部分将以root身份运行,并会询问您的密码。这需要安装程序具有正确的权限
  • port是管理macports的命令行工具
  • installport的命令。尝试使用port help查看命令列表。
  • valgrind告诉macports它应该安装什么
  • +universal是一个变种。这告诉macports配置valgrind以支持32位和64位支持。
© www.soinside.com 2019 - 2024. All rights reserved.