1、下载源码
从如下地址手动下载源码:
https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2
或者:
# 下载源码(valgrind-3.25.1.tar.bz2 为例)
wget https://sourceware.org/pub/valgrind/valgrind-3.25.1.tar.bz2
下载至编译服务器任意目录,笔者下载了最新的valgrind-3.25.1.tar.bz2

2、源码编译
# 下载源码(以 3.25.1 为例)
tar -xjf valgrind-3.25.1.tar.bz2
cd valgrind-3.25.1
# 配置并编译(指定安装路径)
./configure --prefix=/opt/valgrind # 生产环境目标路径
make -j$(nproc) # 并行编译
3、打包二进制和依赖
# 在编译环境中安装到临时目录(不污染系统)
make install DESTDIR=/tmp/valgrind-pkg
cd /tmp/valgrind-pkg
tar -czf valgrind-bin.tar.gz ./opt/valgrind # 打包二进制

4、迁移到生成环境
将valgrind-bin.tar.gz拷贝到生产环境任意目录

解压并配置环境变量路径
tar -xzf /tmp/valgrind-bin.tar.gz -C / #执行解压
echo 'export PATH=/opt/valgrind/bin:$PATH' | sudo tee /etc/profile.d/valgrind.sh
source /etc/profile.d/valgrind.sh # 立即生效
5、生产环境验证
valgrind --version # 检查版本
valgrind ls -l # 简单命令测试

6、注意事项
- 动态依赖检查
ldd /opt/valgrind/bin/valgrind # 查看依赖的共享库
- 关键点:
- 确保生产环境的 GLIBC 版本 ≥ 编译环境(可通过 ldd --version 检查)。
- 若依赖库版本不一致,需在编译时静态链接或单独打包依赖库。
- 卸载与回滚
sudo rm -rf /opt/valgrind # 删除安装目录 sudo rm /etc/profile.d/valgrind.sh # 移除环境变量