无法在macOS High Sierra上构建和安装Valgrind
我不能在macOS High Sierra上安装Valgrind。无法通过无法在macOS High Sierra上构建和安装Valgrind,macos,valgrind,macos-high-sierra,Macos,Valgrind,Macos High Sierra,我不能在macOS High Sierra上安装Valgrind。无法通过brew获取该功能。我试过了。在makeinstall之后,我收到以下消息: 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) 自制软件说: valgrind: This formula either does not compile or function as expe
brew
获取该功能。我试过了。在makeinstall
之后,我收到以下消息:
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)
自制软件说:
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.
Valgrind是一款相当敏感的软件,需要对macOS的每个主要版本进行更新
截至2018年2月,没有发布支持macOS High Sierra(10.13)的Valgrind版本。您将需要使用Valgrind的开发版本,或者使用其他工具。(苹果可能有你想要的一些功能。)我定期在macOS上构建git head版本的Valgrind。如果您已经安装了xcode,那么除了按照说明进行操作外,就没有什么别的了 稍后我将使用构建脚本进行更新
作为替代,你可能需要考虑CLAN消毒液。这可以在xcode中启用,也可以使用-fsanize=X选项启用(其中X是地址、未定义、线程、内存和其他一些)。 所以,我找到了解决办法。您应该使用此代码安装valgrind
brew安装——HEAD valgrind
我创建了valgrind 3.13.0端口,用于macOS High Sierra(10.13.x)。你可以在这里找到它:
获得源代码后,从源目录中运行以下命令:
./configure
make
sudo make install
使用
brew安装--HEAD-valgrind
对我来说也很有用,但请务必知道,要获取HEAD版本并构建/安装需要一段时间
但是,无需进行其他更改。我已于2018年7月完成此项工作,以供参考: 编辑/配置 跑 创建文件~/.valgrind.supp 创建文件~/.valgrindrc 故障排除
- 如果无法读取suppresion文件,请复制并粘贴$HOME的内容
- 如果它抱怨叮当作响的版本,那就把第一次编辑的版本升级
- 如果它抱怨达尔文的版本,那就把第二次编辑推上
$ valgrind --version
valgrind-3.14.0.GIT
以下是我在macOS 10.13.6上使用最新版本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”
#如果您希望将其安装在特定位置,请使用--prefix=/path/to
/配置
制作
#可能需要sudo
安装
#测试一切正常
瓦尔格林ls-l
这些说明取自Valgrind发布tar ball中的
自述文件。brew安装Valgrind在最新macOS上安装时存在一些兼容性问题,但有解决此问题的方法。尝试使用brew安装时,必须收到此错误消息
$brew安装valgrind
valgrind:这个公式要么不能在macOS上编译,要么不能在macOS上正常工作
由于上游不兼容,版本比High Sierra更新。
错误:未满足的需求使此生成失败
-------------------------------------------------------------------解决方案--------------------------------------------------------------
步骤1:$brew编辑valgrind
步骤2:在文件->中查找此行(url“”)
步骤3:将其替换为->(url“git://sourceware.org/git/valgrind.git))
步骤4:$brew更新
第5步:$brew安装——HEAD valgrind
完成了
如果仍然不起作用,请告诉我。
谢谢 你为什么不想安装最新的Valgrind 3.13?只是一个链接不行。请粘贴/引用相关代码并解释,以便我们更容易获得答案。谢谢这对我有用。谢谢你真的知道为什么会这样吗?我知道,--HEAD
标志构建公式的开发版本?如果使用此解决方案,安装后会出现错误,说明版本与你的macOs不兼容,你可能需要检查
./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
sudo port install valgrind-devel
$ valgrind --version
valgrind-3.14.0.GIT