请问如何在yosemite上安装Valgrind? 当我尝试安装时,会出现“检查内核版本...不支持(14.0.0)configure:error:Valgrind适用于Darwin 10.x、11.x、12.x和13.x(Mac OS X 10.6 / 7/8/9)”的错误提示。
目前没有官方路径或更新方法,我也没有找到任何解决方法(除了http://comments.gmane.org/gmane.comp.kde.devel.bugs/1553705,但他们并没有解决这个问题)。
请问如何在yosemite上安装Valgrind? 当我尝试安装时,会出现“检查内核版本...不支持(14.0.0)configure:error:Valgrind适用于Darwin 10.x、11.x、12.x和13.x(Mac OS X 10.6 / 7/8/9)”的错误提示。
目前没有官方路径或更新方法,我也没有找到任何解决方法(除了http://comments.gmane.org/gmane.comp.kde.devel.bugs/1553705,但他们并没有解决这个问题)。
由于没有支持Yosemite的稳定版本,您可以安装最新的开发版。
brew install --HEAD valgrind
错误:无法下载资源“valgrind--patch” 下载失败:https://gist.githubusercontent.com/jacknagel/cd26a902d72aabd0b51d/raw/1a61a328a87a728dccbeef0594f6fe335e9bf917/valgrind-sdk-paths-Makefile-am.diff
。 - André Caron之前的OS X版本中,Valgrind通常需要一段时间才能支持合理的功能,但由于在预发布的Yosemite上进行了大量工作,因此基本的OS X 10.10支持已经在Valgrind trunk中提供。
来自邮件列表:
最近有一些努力改善Valgrind对Yosemite的支持。如果您在Mac OS上进行开发,可以尝试使用trunk(svn co svn://svn.valgrind.org/valgrind/trunk),并报告任何错误。 Yosemite的支持已经足够好了,至少一个大型图形应用程序(Firefox)可以正常运行。对于上一个版本10.9(Mavericks),支持也得到了实质性的改善。
请注意,该工作仅针对64位进程,32位可能可以工作,并且在Mavericks上可能会更好,但我怀疑它在Yosemite上将越来越成为问题,因为Valgrind的32位x86指令集支持未能超过SSSE3。
Julian Seward
http://sourceforge.net/p/valgrind/mailman/message/33047840/
全面披露:我是为支持OS X 10.10做出贡献的新Valgrind开发人员之一
Valerio的svn工作流会下载每个分支,这样会耗费大量时间和资源。更好的方法是只下载主干:
svn co svn://svn.valgrind.org/valgrind/trunk valgrind
cd valgrind
./autogen.sh
./configure
make
make install
svn co
和curl
之间的差异...) - ArtOfWarfaresudo make install
而不是 make install
。不确定是否必要,因为我没有尝试过你的方法。 - ArtOfWarfare# build/install autoconf/automake/libtool so that 'autogen' works
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
tar -xzf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure && make && sudo make install
cd ..
curl -OL http://ftpmirror.gnu.org/automake/automake-1.14.tar.gz
tar -xzf automake-1.14.tar.gz
cd automake-1.14
./configure && make && sudo make install
cd..
curl -OL http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz
tar -xzf libtool-2.4.2.tar.gz
cd libtool-2.4.2
./configure && make && sudo make install
cd ..
svn co svn://svn.valgrind.org/valgrind/trunk valgrind
cd valgrind
./autogen.sh
# important: configure-params, otherwise make ends in errors
./configure -disable-tls --enable-only64bit --build=amd64-darwin
make
# sudo, otherwise it fails due to permissions
sudo make install
vgdb --pid=2858 instrumentation on
我在10.10.1上成功执行了此操作:
svn co svn://svn.valgrind.org/valgrind
cd valgrind
./autogen.sh
./configure
make
make install
以下是使用官方svn以外的替代来源安装它的方法(因为官方svn似乎间歇性地不可用)。
https://crispyappstudiosblog.wordpress.com/2015/07/07/installing-valgrind-on-osx-yosemite/
1) Navigate to this git mirror of the svn and download the latest available version:
http://repo.or.cz/w/valgrind.git
2) You need VEX as well, so grab the latest version here:
http://repo.or.cz/w/vex.git
3) Extract both of them. Put the entire contents of the
VEX
folder into a folder called VEX in the top level of the valgrind directory.
cd
to the valgrind directory, and execute the following:Run ./autogen.sh Run ./configure Run make Run sudo make install
Test it out by running
valgrind --version
You should be running at least 3.11.0 SVN for it work on Yosemite.
我在Mac上安装时,首先安装了homebrew
,然后在终端中运行以下3个命令:
brew update
brew doctor
brew install --HEAD valgrind
注意:我使用的是Os X El Capitan (10.11),但这个方法适用于之前的版本。
valgrind:由于上游不兼容性,此公式在macOS El Capitan之后的版本中无法编译或正常使用。
- Alex我终于在我的OSX El Capitan 10.11.12上成功使用了Valgrind。
用户Kalmiya的答案对我来说很有效,但需要先安装Xcode命令行工具。
在终端中输入以下内容:
xcode-select --install
现在请按照Kalmiya的帖子一步一步操作。 https://dev59.com/W18d5IYBdhLWcg3wpzv4#30366798
我在Yosemite上编译了valgrind,但不得不使用hack来完成。虽然我认为你应该使用xcode-select install
来获取所有命令行工具(之后valgrind应该可以正常运行),但如果你不想这样做(例如Xcode工具的大小太大),你也可以获取Darwin OSX代码并将以下文件复制到/usr/include/mach
mach_vm.defs
task.defs
thread_act.defs
vm_map.defs
这样可以干净地编译和安装,但请注意它是一种相当松散的黑客。