优胜美地和Valgrind

你能告诉我如何在优胜美地上安装valgrind吗? 当我尝试安装它时,我得到“检查内核版本…不受支持(14.0.0)configuration:错误:Valgrind工作在达尔文10.x,11.x,12.x和13.x(Mac OS X 10.6 / 7/8/9)“

没有正式的path或更新,我没有find任何东西(除http://comments.gmane.org/gmane.comp.kde.devel.bugs/1553705 ,但他们没有解决这个问题)。

由于没有支持优胜美地的稳定版本,您可以使用安装最新的开发版本

 brew install --HEAD valgrind 

虽然在过去的OS X发布周期中Valgrind花了一段时间才能实现合理的function支持,但由于在发布前的优胜美地上进行了大量的工作,基本的OS X 10.10支持已经在Valgrind主干中可用。

从邮件列表中:

最近有一些努力来改善Valgrind对优胜美地的支持。 如果你在Mac OS上开发,你可能想尝试一下trunk(svn co svn://svn.valgrind.org/valgrind/trunk)并报告你得到的任何破坏。 对优胜美地的支持足够好,至less有一个大型graphics应用程序(Firefox)运行正常。 对前一版本10.9(小牛)的支持也大大提高。

请注意,该工作仅针对64位进程。 32位可能工作,可能对小牛更好,但是我怀疑由于Valgrind的32位x86指令集支持没有通过SSSE3,所以优胜美地的问题会越来越严重。

Julian Seward

http://sourceforge.net/p/valgrind/mailman/message/33047840/

完全披露:我是提供支持OS X 10.10补丁的新Valgrind开发人员之一

Valerio的svn工作stream程将下载每个分支,这是时间和资源消耗。 一个更好的程序是下载干线:

 svn co svn://svn.valgrind.org/valgrind/trunk valgrind cd valgrind ./autogen.sh ./configure make make install 

这是我的承担。 我或多或less有一个干净的Mac与安装的Xcode。 得到它编译和运行与以下内容:

 # 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 

注意,callgrind_control(来自valgrind-3.11.0 SVN)在OS X上似乎不起作用,看起来像一个perl脚本,它运行的命令行工具(vgdb -l)打印出某种“意外的” t正确parsing(所以它将无法findvalgrind运行的其他进程)。

或者,perl脚本只是调用vgdb,我们也可以直接做到这一点(只是手动找出你的process-id):

 vgdb --pid=2858 instrumentation on 

在10.10.1为我工作:

 svn co svn://svn.valgrind.org/valgrind cd valgrind ./autogen.sh ./configure make make install 

这里列出的所有解决scheme都失败了。 什么最终结束了工作是使用mac端口。

sudo port install valgrind-devel

这里是如何使用官方svn之外的其他来源安装它(因为它似乎间歇性地可用)。

https://crispyappstudiosblog.wordpress.com/2015/07/07/installing-valgrind-on-osx-yosemite/

1)导航到svn的这个git镜像并下载最新的可用版本: http://repo.or.cz/w/valgrind.git : http://repo.or.cz/w/valgrind.git

2)你也需要VEX,所以抓住最新版本: http://repo.or.cz/w/vex.githttp://repo.or.cz/w/vex.git

3)提取他们两个。 将VEX文件夹的全部内容放入valgrind目录顶层的名为VEX的文件夹中。

cd到valgrind目录,并执行以下命令:

 Run ./autogen.sh Run ./configure Run make Run sudo make install 

运行valgrind --versiontestingvalgrind --version你应该在优胜美地上运行至less3.11.0的SVN。 Valgrind 3.11.0 SVN在OSX Yosemite上运行10.10.4

我通过安装homebrew将它安装在我的Mac上,然后在terminal中运行这3个命令。

  1. brew update
  2. brew doctor
  3. brew install --HEAD valgrind

PS:我有Os X El Capitan(10.11),但是这个也适用于以前的版本。

我终于让Valgrind工作在我的OSX El Capitan 10.11.12上

在我安装了Xcode命令行工具后,用户Kalmiya的答案为我工作。

在terminal中input:

  xcode-select --install 

现在按照Kalmiya的post,一步一步来。 https://stackoverflow.com/a/30366798/3633475

这里是另一个在SVN安装。 以前的那些对我来说并不适用,因为我需要安装automakeautoconf ,虽然我已经安装了最新版本的Xcode命令行工具,但是我没有安装。

我从这个网站得到了以下内容。 在完成brew install automakebrew install autoconf autoconf之后,我还必须通过brew link automakebrew link autoconfbrew link automakebrew link autoconf

 # Check out their repo... $ svn co svn://svn.valgrind.org/valgrind/trunk valgrind-trunk # and hop into it. $ cd valgrind-trunk # You need to have autoconf and automake installed to build Valgrind # This example uses Homebrew to install these dependencies # (MacPorts should also work) # (Permission error? add sudo!) $ brew install automake $ brew install autoconf # run autogen.sh in valgrind-trunk $ ./autogen.sh # Tricky, there are some hard wired paths in the Valgrind sources. # You need to symlink the mach folder in your XCode SDK to /usr/include/mach # Be sure to use the proper Xcode SDK "MacOSX10.10.sdk" in the path! $ ln -sv /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/mach /usr/include/mach # Run configure + set install paths in valgrind-trunk $ ./configure --prefix=/usr/local # Run Make and make install (permission error? add sudo!) in valgrind-trunk $ make $ make install # Check it works $ valgrind --version valgrind-3.11.0.SVN 

我已经使用卡尔米亚的指示,build立valgrind作为OSX优胜美地的conda包。 对于那些与anaconda / conda一起工作的人,就这样做

 conda install -c https://conda.binstar.org/groakat valgrind 

注意:我需要安装下面描述的命令行工具来编译valgrind。

https://stackoverflow.com/a/30471647/2156909

我在约塞米蒂编译了valgrind,但不得不使用黑客来这样做。 虽然我认为你应该使用xcode-select install来获得所有的命令行工具(之后Valgrind应该正确),但如果你不想这样做(例如Xcode工具的大小太大),你也可以获取Darwin OSX代码,并将以下文件复制到/usr/include/mach

  mach_vm.defs task.defs thread_act.defs vm_map.defs 

这允许一个干净的编译和安装,但注意这是一个相当松懈的黑客攻击。