我无法在macOS High Sierra上安装Valgrind。它不是通过brew
提供的。我试过3.10。在make install
之后,我收到这条消息:
configure: error: Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x and 14.x (Mac OS X 10.6/7/8/9/10)
Homebrew说:
valgrind: This formula either does not compile or function as expected on macOS
versions newer than Sierra due to an upstream incompatibility.
Error: An unsatisfied requirement failed this build.
我有这样的问题。所以,我找到了解决方案。您应该通过此代码brew install --HEAD valgrind
安装valgrind
我已经创建了一个valgrind 3.13.0的端口来处理macOS High Sierra(10.13.x)。你可以在这里得到它:https://github.com/padiakalpesh/valgrind_3.13_high_sierra
获取源后,从源目录中运行以下命令:
./configure
make
sudo make install
我有这个工作在2018年7月,供参考:
https://gist.github.com/AlessandroMinali/d8316d6cc650c97027433644c2ff31ee
- 5468: applellvm-5.1|applellvm-6.*|applellvm-7.*|applellvm-8.*)
+ 5468: applellvm-5.1|applellvm-6.*|applellvm-7.*|applellvm-8.*|applellvm-9.*)
- 5879: 16.*)
+ 5879: 17.*)
./autogen.sh
./configure
make
make install
# false positive for any executable (it seems)
# macOS 10.12.6
# valgrind 3.13.0
{
libtrace initialization false positive
Memcheck:Param
msg->desc.port.name
fun:mach_msg_trap
fun:mach_msg
fun:task_set_special_port
fun:_os_trace_create_debug_control_port
fun:_libtrace_init
}
--suppressions=$HOME/.valgrind.supp
brew安装Valgrind在最新的macOS上安装时存在一些兼容性问题,但是有一个解决方法可以解决这个问题。当您尝试使用brew安装它时,您必须收到此错误消息。
$ brew install valgrind valgrind:由于上游不兼容,此公式要么不能在比High Sierra更新的macOS版本上按预期编译或运行。错误:未满足的要求未通过此构建。
-------------------------------------------------- - - - - - - - - -解 - - - - - - - - - - - - - - - - ------------------------------
Step1:$ brew编辑valgrind
Step2:在文件中找到这一行 - >(url“https://sourceware.org/git/valgrind.git”)
Step3:用 - >替换它(url“git://sourceware.org/git/valgrind.git”)
Step4:$ brew更新
Step5:$ brew install --HEAD valgrind
并做了!
如果它仍然不起作用,请告诉我。谢谢!!
我定期在macOS上构建Valgrind的git head版本。如果您安装了xcode,那么除了遵循here说明之外没有太多其他内容。
我稍后会使用我的构建脚本进行更新。
作为替代方案,您可能需要考虑使用clang消毒剂。这可以在xcode中启用,或使用-fsanitize = X选项启用(其中X是地址,未定义,线程,内存和其他一些选项)。
使用brew install --HEAD valgrind
也为我工作,但一定要知道,需要一段时间来拉动HEAD版本,并建立/安装。
但是,不需要进行其他更改。
Valgrind是一个相当敏感的软件,需要更新macOS的每个主要版本。
截至2018年2月,没有发布的Valgrind版本支持macOS High Sierra(10.13)。您需要使用Valgrind的开发版本,或使用替代工具。 (Apple的Instruments可能具有您正在寻找的一些功能。)
MacPorts版本于2018年9月开始为我工作!
该命令,为了完整起见(完成非常快 - 显然,预建):
sudo port install valgrind-devel
版:
$ valgrind --version
valgrind-3.14.0.GIT
以下是使用最新的Valgrind版本3.14.0(2018年10月9日)在macOS 10.13.6上工作的。
VERSION="3.14.0"
wget -O - http://www.valgrind.org/downloads/valgrind-"$VERSION".tar.bz2 | tar xjf -
cd valgrind-"$VERSION"
# use --prefix=/path/to if you want it installed somewhere in particular
./configure
make
# may need sudo
make install
# test all is working
valgrind ls -l
这些说明来自Valgrind释放焦油球内的README
。