我无法在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.
答案 0 :(得分:8)
我遇到了这样的问题。
所以,我找到了解决方案。您应该通过此代码安装valgrind
brew install --HEAD valgrind
答案 1 :(得分:4)
我创建了一个valgrind 3.13.0的端口,可以在macOS High Sierra(10.13.x)上运行。你可以在这里得到它:https://github.com/padiakalpesh/valgrind_3.13_high_sierra
获取源后,从源目录中运行以下命令:
./configure
make
sudo make install
答案 2 :(得分:2)
我已经在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
答案 3 :(得分:2)
简单安装Valgrind在最新的macOS上安装时存在一些兼容性问题,但存在解决此问题的方法。当您尝试使用brew安装它时,肯定会收到此错误消息。
$ brew安装valgrind valgrind:此公式无法按预期在macOS上编译或运行 由于上游不兼容,版本比High Sierra更新。 错误:无法满足的要求导致此构建失败。
-------------------------------------------------- - - - - - - - - - - 解 - - - - - - - - - - - - - - - ---------------------------------
第一步:$ brew编辑valgrind
第二步:在文件中找到这一行->(URL“ https://sourceware.org/git/valgrind.git”)
Step3:将其替换为->(网址为“ git://sourceware.org/git/valgrind.git”)
第4步:$ brew更新
第5步:$ brew install --HEAD valgrind
完成!
让我知道它是否仍然无法正常工作。 谢谢!
答案 4 :(得分:1)
Valgrind是一款相当敏感的软件,需要对每个主要版本的macOS进行更新。
截至2018年2月,没有发布的Valgrind版本支持macOS High Sierra(10.13)。您需要使用Valgrind的开发版本,或使用替代工具。 (Apple的Instruments可能具有您正在寻找的一些功能。)
答案 5 :(得分:1)
我定期在macOS上构建Valgrind的git head版本。如果您安装了xcode,那么除了遵循here说明之外,还有更多功能。
我稍后会使用我的构建脚本进行更新。
作为替代方案,您可能需要考虑使用clang消毒剂。这可以在xcode中启用,或者使用-fsanitize = X选项启用(其中X是地址,未定义,线程,内存和其他一些选项)。
答案 6 :(得分:1)
使用brew install --HEAD valgrind
也对我有用,但是一定要知道拉HEAD版本并进行构建/安装将花费一些时间。
但是,不需要其他更改。
答案 7 :(得分:1)
MacPorts版本于2018年9月开始为我工作!
为完整性起见,该命令(完成速度非常快-显然是预先构建的):
sudo port install valgrind-devel
版本:
$ valgrind --version
valgrind-3.14.0.GIT
答案 8 :(得分:0)
以下各项在macOS 10.13.6上使用最新的Valgrind版本3.14.0(2018年10月9日)对我有用。
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释放tar球内的README
。