您能告诉我如何在优胜美地上安装valgrind吗?当我尝试安装它时,我得到“正在检查内核版本...不支持(14.0.0)的配置:错误: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,但他们没有解决该问题)。
您能告诉我如何在优胜美地上安装valgrind吗?当我尝试安装它时,我得到“正在检查内核版本...不支持(14.0.0)的配置:错误: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,但他们没有解决该问题)。
Answers:
由于没有支持Yosemite的稳定版本,因此您可以通过以下方式安装最新的开发版本:
brew install --HEAD valgrind
Error: Failed to download resource "valgrind--patch" Download failed: https://gist.githubusercontent.com/jacknagel/cd26a902d72aabd0b51d/raw/1a61a328a87a728dccbeef0594f6fe335e9bf917/valgrind-sdk-paths-Makefile-am.diff
尽管在过去的OS X发行周期中,Valgrind可能需要一段时间才能获得合理的功能支持,但由于在预发行版Yosemite上的大量工作,Valgrind主干中已经提供了基本的OS X 10.10支持。
从邮件列表:
最近已经进行了一些努力来改善Valgrind对优胜美地的支持。如果您在Mac OS上进行开发,则可能要尝试使用主干(svn co svn://svn.valgrind.org/valgrind/trunk)并报告您遇到的任何损坏。对优胜美地的支持足够好,至少一个大型图形应用程序(Firefox)可以正常运行。对先前版本10.9(Mavericks)的支持也得到了显着改善。
请注意,这项工作仅针对64位进程。32位也许可以工作,并且在Mavericks上可能更好,但是我怀疑由于Valgrind的32位x86指令集支持尚未通过SSSE3的支持,在优胜美地这将越来越成问题。
朱利安·苏厄德(Julian Seward)
http://sourceforge.net/p/valgrind/mailman/message/33047840/
全面披露:我是Valgrind的新开发人员之一,他们贡献了补丁程序来支持OS X 10.10
Valerio的svn工作流程将下载每个分支,这既浪费时间又消耗资源。更好的过程是只下载中继:
svn co svn://svn.valgrind.org/valgrind/trunk valgrind
cd valgrind
./autogen.sh
./configure
make
make install
svn co
与curl
... 之间的区别)
sudo make install
最后而不是我make install
。不知道是否有必要,因为我没有按照您的方式尝试。
这是我的看法。我或多或少安装了带有xcode的干净mac。使用以下命令进行编译和运行:
# 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正确解析(因此它将找不到使用valgrind运行的其他进程)。
另外,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
这是使用官方svn之外的其他方法来安装它的方法(因为它似乎是间歇性的)。
https://crispyappstudiosblog.wordpress.com/2015/07/07/installing-valgrind-on-osx-yosemite/
1)导航到svn的git镜像并下载最新的可用版本:
http://repo.or.cz/w/valgrind.git
2)您也需要VEX,因此请在此处获取最新版本:
http://repo.or.cz/w/vex.git
3)提取它们两者。将
VEX
文件夹的全部内容放入valgrind目录顶层的名为VEX的文件夹中。
cd
到valgrind目录,然后执行以下操作:Run ./autogen.sh Run ./configure Run make Run sudo make install
通过运行进行测试
valgrind --version
您应该至少运行3.11.0 SVN才能在优胜美地上运行。
我通过homebrew
在终端上安装然后运行这3个命令在Mac上安装了它。
brew update
brew doctor
brew install --HEAD valgrind
PS:我有Os X El Capitan(10.11),但它也可以在以前的版本中使用。
valgrind: This formula either does not compile or function as expected on macOS
versions newer than El Capitan due to an upstream incompatibility.
我终于让Valgrind从事我的OSX El Capitan 10.11.12的工作。
安装Xcode命令行工具后,用户Kalmiya的答案首先对我有用。
在终端中输入:
xcode-select-安装
现在,逐步按照Kalmiya的帖子进行操作。 https://stackoverflow.com/a/30366798/3633475
Assertion 'tst->os_state.pthread - magic_delta == self' failed.
这是svn安装的另一种方法。以前的人没有工作对我来说,因为我需要有automake
和autoconf
安装,这是我没有,即使我有最新版本的安装Xcode的命令行工具。
我从这个站点得到了以下内容。我也只好链接automake
和autoconf
后做事brew install automake
和brew install autoconf
做brew link automake
和brew 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
$ make ... Making all in coregrind make[2]: *** No rule to make target '/usr/include/mach/mach_vm.defs', needed 'by m_mach/mach_vmUser.c'. Stop. make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
虽然在/ usr /包括/马赫物在根目录中创建,符号链接等作为描述
我已经按照kalmiya的说明将valgrind构建为OSX Yosemite的conda软件包。对于使用anaconda / conda的人,只需
conda install -c https://conda.binstar.org/groakat valgrind
旁注:我需要按如下所述安装命令行工具来编译valgrind。
homebrew
与无情注:“不太可能是固定在不久的将来,由于上游的发展时间表”