在 Ubuntu 上安装 SCons 和 Valgrind

本文最后更新于 2024年10月20日 中午

准备 Python 环境

在 Ubuntu 上安装 Miniconda

安装 SCons

激活 Miniconda 环境后,执行以下命令安装 SCons:

1
2
pip install scons
scons --version

安装 Valgrind

  1. 下载 Valgrind 源代码

    1
    2
    wget https://sourceware.org/pub/valgrind/valgrind-3.23.0.tar.bz2
    tar -xvf valgrind-3.23.0.tar.bz2

  2. 安装依赖

    1
    sudo apt install build-essential

  3. 编译安装

    1
    2
    3
    4
    5
    cd valgrind-3.23.0
    ./configure
    make
    sudo make install
    valgrind --version

遇到这个报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
valgrind:  Fatal error at startup: a function redirection
valgrind: which is mandatory for this platform-tool combination
valgrind: cannot be set up. Details of the redirection are:
valgrind:
valgrind: A must-be-redirected function
valgrind: whose name matches the pattern: strcmp
valgrind: in an object with soname matching: ld-linux-x86-64.so.2
valgrind: was not found whilst processing
valgrind: symbols from the object with soname: ld-linux-x86-64.so.2
valgrind:
valgrind: Possible fixes: (1, short term): install glibc's debuginfo
valgrind: package on this machine. (2, longer term): ask the packagers
valgrind: for your Linux distribution to please in future ship a non-
valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
valgrind: that exports the above-named function using the standard
valgrind: calling conventions for this platform. The package you need
valgrind: to install for fix (1) is called
valgrind:
valgrind: On Debian, Ubuntu: libc6-dbg
valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo
valgrind:
valgrind: Note that if you are debugging a 32 bit process on a
valgrind: 64 bit system, you will need a corresponding 32 bit debuginfo
valgrind: package (e.g. libc6-dbg:i386).
valgrind:
valgrind: Cannot continue -- exiting now. Sorry.

安装 libc6-dbg 解决

1
sudo apt install libc6-dbg


在 Ubuntu 上安装 SCons 和 Valgrind
https://term-inator.github.io/2024/10/18/install-scons-and-valgrind/
作者
Sicong Chen
发布于
2024年10月18日
更新于
2024年10月20日
许可协议