macOS 10.13 High Sierra无法安装Valgrind:brew无适配版本编译报错求助
解决macOS 10.13 High Sierra上Valgrind无法安装的问题
我太懂这种老系统装工具的痛苦了——macOS 10.13已经是多年前的版本,官方Homebrew源早就停止对它的支持,Valgrind这类深度依赖内核的工具更是没法直接通过默认brew获取。你尝试的3.10版本本身也不兼容High Sierra的内核,所以make install才会报错。下面给你两个可行的解决方案:
方案1:使用社区维护的Homebrew Tap(推荐)
有开发者专门维护了适配旧macOS版本的Valgrind分支,步骤如下:
- 先确保你的Homebrew是支持High Sierra的版本。如果当前brew已经无法正常工作,先卸载重装旧版brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/2.2.0/install.sh)" - 添加专门维护旧系统Valgrind的tap仓库:
brew tap LouisBrunner/valgrind - 安装适配High Sierra的Valgrind版本(用HEAD分支获取最新的适配补丁):
brew install --HEAD LouisBrunner/valgrind/valgrind
安装完成后,运行valgrind --version确认是否成功。
方案2:手动编译带补丁的Valgrind源码
如果brew方法遇到问题,手动编译是更稳妥的选择:
- 先安装适配High Sierra的Xcode Command Line Tools(建议用Xcode 9.4.1对应的版本,这是支持10.13的最后一个Xcode版本),执行命令:
如果弹出的安装窗口无法下载,去苹果开发者平台下载对应版本的Command Line Tools安装包。xcode-select --install - 下载适配High Sierra的Valgrind源码包,推荐用3.15.0版本(这个版本有社区补丁支持10.13系统),解压后进入源码目录。
- 找到针对Valgrind 3.15.0的High Sierra适配补丁,保存为
valgrind-highsierra.patch后,在源码目录执行补丁命令:patch -p1 < valgrind-highsierra.patch - 配置编译参数并完成安装:
./configure --prefix=/usr/local make -j4 # -j4是启用4线程编译,加快速度,可根据你的CPU核心数调整 sudo make install
关键说明
- Valgrind对macOS内核的依赖极强,苹果每一次系统更新都会修改内核结构,旧版本的Valgrind(比如你尝试的3.10)完全不支持High Sierra的内核,所以直接编译会失败。
- 官方Homebrew已经停止维护High Sierra系统的软件包,因此必须借助社区维护的分支或者手动打补丁的方式才能完成安装。
内容的提问来源于stack exchange,提问作者Alexander Kleinhans
相关产品推荐
相关产品推荐

