【问题标题】:Is there a way to install Valgrind on Catalina?有没有办法在 Catalina 上安装 Valgrind?
【发布时间】:2019-10-13 00:53:43
【问题描述】:

有没有办法在 Catalina 上安装 Valgrind 并让它正常运行?如果是这样,我将非常感谢一个逐步的过程。

我尝试使用https://github.com/sowson/valgrind 安装 Valgrind 但是当我在终端上测试helloWorld.cpp 时,控制台返回了我不应该得到的错误。

我不确定我是否在此版本 Valgrind 的安装过程中犯了错误,或者 Valgrind 本身是否与 Catalina OS 不兼容。

我也尝试通过 Homebrew 安装 Valgrind,但我也遇到了问题 (github.com/Homebrew/homebrew-core/issues/36683)。

【问题讨论】:

  • 您是否尝试过通过像brew这样的包管理器下载?
  • 是的。许多人也有这样做的问题。 github.com/Homebrew/homebrew-core/issues/36683
  • 它可能有用也可能没用,但你总是可以退回到 Docker。可能需要多个图像,因为我相信您必须获得一个构建环境才能将内容发送到 valgrind。我不知道是不是你,但有人提出了 Catalina 支持的问题。您真正能做的就是等待开发人员或一些勇敢的社区成员添加所需的修复程序。
  • @sweenish 我听从了你的建议,为这个问题做了一个 dockerized 解决方案。感谢您的指导!

标签: c++ macos valgrind macos-mojave macos-catalina


【解决方案1】:

目前,没有。您链接的 repo 有一个关于 Catalina 兼容性的问题。正如您所展示的, brew 包也有其自身的问题。官方 valgrind 仅支持 10.12。

您只需等待或将其容器化。虽然如果您将 valgrind 容器化,您可能还需要一个兼容的构建容器。

【讨论】:

    【解决方案2】:

    好的。我找到了一种在 Catalina 上使用 Valgrind 的方法。这是我的指南的链接https://github.com/john-yohan-park/Valgrind_Catalina

    【讨论】:

      【解决方案3】:

      效果惊人!!见https://github.com/LouisBrunner/valgrind-macos/issues/5

      不是 Homebrew,需要从源代码编译,但没那么难。

      1. git clone https://github.com/LouisBrunner/valgrind-macos.git
      2. cd valgrind
      3. sudo ./autogen.sh
      4. sudo ./configure --prefix=/where/you/want/it/installed --enable-only64bit
      5. copy the [contents][1] to ./coregrind/m_mach/mach_basics.c
      6. sudo make 
      7. sudo make install
      

      享受吧!

      【讨论】:

      • 今天来自github的版本似乎有一些改进。我根据此处的说明构建了它,并进行了一些更改:1. 不需要第 5 步。 2. 在第 3、4 和 6 步不需要 sudo。到目前为止,它似乎在 Catalina 10.15.4 上运行良好.
      【解决方案4】:

      这就是我刚刚在 Catalina 10.15.5 上所做的:

      brew remove valgrind # remove previous attempts at installing it (if any)
      brew tap LouisBrunner/valgrind
      brew install --HEAD LouisBrunner/valgrind/valgrind
      

      来源:https://github.com/LouisBrunner/valgrind-macos

      【讨论】: