【问题标题】:How to install valgrind properly?如何正确安装 valgrind?
【发布时间】:2014-09-16 02:20:15
【问题描述】:

我现在正在安装 valgrind,直到“make install”命令运行良好。 下一个命令——‘make regtest’输出下一个错误:

../../depcomp: line 689: exec: g++: not found
make[5]: *** [leak_cpp_interior.o] Error 127
make[5]: Leaving directory `/home/kbubuntu/valgrind-3.9.0/memcheck/tests'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/home/kbubuntu/valgrind-3.9.0/memcheck/tests'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/home/kbubuntu/valgrind-3.9.0/memcheck/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/home/kbubuntu/valgrind-3.9.0/memcheck'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/home/kbubuntu/valgrind-3.9.0'
make: *** [check] Error 2

我该如何解决?

谢谢。

【问题讨论】:

  • 先安装g++。通过键入 sudo apt-get install g++。
  • 即使我使用 gcc?
  • 反正都已经安装好了。
  • 那不应该发生
  • 你为什么不直接使用 disto valgrind(apt-get valgrind 或其他)?您不必构建它。

标签: linux valgrind


【解决方案1】:

简答:从源头制作。

怎么做?

  1. 卸载具有root权限的无效valgrind版本(例如sudo):

apt-get --purge valgrind 要么 dpkg --remove valgrind 要么 yum remove valgrind

  1. here获取来源。

  2. 标识最新版本(例如 3.17.0)

  3. 下载来源:wget https://sourceware.org/pub/valgrind/valgrind-3.17.0.tar.bz2

  4. 解压存档tar xvf valgrind-3.17.0.tar.bz2

  5. 转到未压缩的存档cd valgrind-3.17.0

  6. 配置./configure

  7. 编译make

  8. 安装make install(具有root权限,例如sudo

注意:对 Raspberry Pi 4 用户非常有用 - 默认 valgrind 安装会产生很多内部错误。见Valgrind reports hundreds of errors in Hello World program on RaspberryPi 4B

【讨论】:

  • 对于 Dockerfile:# Valgrind! # RUN apt-get install -y valgrind ADD sourceware.org/pub/valgrind/valgrind-3.15.0.tar.bz2 /tmp/valgrind-3.15.0.tar.bz2 WORKDIR /src RUN tar --strip-components=1 -x -f /tmp/valgrind-3.15.0。 tar.bz2 \ && cd build \ && ../configure \ --prefix=/opt/valgrind \ && make \ && make install \ && rm -f /tmp/valgrind-3.15.0.tar.bz2 ENV VALGRIND_LIB /opt /valgrind/lib/valgrind ENV PATH="/opt/valgrind/bin:${PATH}"
【解决方案2】:

所有主要的 linux 发行版都将在其存储库中包含 valgrind。你可以在 debian 派生的、基于apt 的系统上找到这个:

apt search valgrind

但首先尝试一下:

apt install valgrind

它应该可以工作,并引入任何依赖项。请记住,如果您不是超级用户,则需要在前面加上sudo

这是一个很棒的工具,玩得开心。

【讨论】:

  • 先生,我刚刚做到了.. 它奏效了.. 请告诉我它正在使用谁的缓存服务器..
  • 你的意思是apt?这取决于您的确切发行版及其配置方式。不过,这是一个单独的问题;)如果您对原始问题有答案,请勾选其中一个复选标记以表明这一点。
  • 如果您想询问apt,Unix & Linux Exchange 是更合适的地方:unix.stackexchange.com/questions
【解决方案3】:

我认为它是由于没有满足依赖性。 安装 g++ 由

sudo apt-get install g++

然后再试一次。 错误是由于 exec 找不到任何名为 g++ 的包

【讨论】:

  • 如果你可以尝试安装 build-essentials
  • 对不起,我还是 linux 新手,我该如何尝试?
  • sudo apt-get install build-essential
猜你喜欢
  • 1970-01-01
  • 2015-11-23
  • 2014-10-22
  • 2021-11-15
  • 2011-10-11
  • 2021-01-17
  • 2011-08-19
  • 2016-12-09
  • 1970-01-01
相关资源
最近更新 更多