# Install valgrind with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Dynamic analysis tools (memory, debug, profiling). Version 3.27.1 via Homebrew; verified 2026-05-20.

## Install

```sh
sudo av install brew:valgrind
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install valgrind
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install valgrind
```

  Evidence: MacPorts ports tree: devel/valgrind/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add valgrind
```

  Evidence: Alpine Linux edge package indexes: valgrind from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install valgrind
```

  Evidence: Debian stable package indexes: valgrind from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install valgrind
```

  Evidence: Fedora Rawhide package metadata: valgrind from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#valgrind
```

  Evidence: nixpkgs package indexes: pkgs/by-name/va/valgrind/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S valgrind
```

  Evidence: Arch Linux sync databases: valgrind from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install valgrind
```

  Evidence: openSUSE Tumbleweed package metadata: valgrind from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:valgrind
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/valgrind>
- **Version:** 3.27.1
- **Source summary:** Dynamic analysis tools (memory, debug, profiling)
- **Homepage:** <https://www.valgrind.org/>
- **Repository:** <https://sourceware.org/git/valgrind.git>
- **Upstream docs:** <https://valgrind.org/docs/download_docs.html>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://sourceware.org/pub/valgrind/valgrind-3.27.1.tar.bz2>
- **Last updated:** 2026-05-20T16:57:52Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- callgrind_annotate (cli)
- callgrind_control (cli)
- cg_annotate (cli)
- cg_diff (cli)
- cg_merge (cli)
- ms_print (cli)
- valgrind (cli)
- valgrind-di-server (cli)
- valgrind-listener (cli)
- vgdb (cli)
- vgstack (cli)
- callgrind_annotate (alias)
- callgrind_control (alias)
- cg_annotate (alias)
- cg_diff (alias)
- cg_merge (alias)
- ms_print (alias)
- valgrind (alias)
- valgrind-di-server (alias)
- valgrind-listener (alias)
- vgdb (alias)
- vgstack (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.27.1
- Package-manager updated: 2026-05-20
- Local data: ok
- Upstream repository: https://www.valgrind.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Valgrind began as Julian Seward's attempt to build an open source memory-checking tool for x86/Linux in the spirit of Purify, but without source rewriting or relinking. Nicholas Nethercote's twentieth-anniversary retrospective places the first 1.0 release in July 2002, after early use by KDE developers, and notes that Cachegrind was committed in April 2002. Soon afterward the project split its generic dynamic-binary-instrumentation engine from individual analysis tools: the original memory checker became Memcheck, while Valgrind became the overall framework.

### Project history

That split shaped Valgrind's long-term role. The official manual describes it as an instrumentation framework with standard tools including Memcheck for C/C++ memory errors, Cachegrind and Callgrind for cache/call profiling, Helgrind and DRD for thread errors, Massif and DHAT for heap profiling, plus smaller developer and research tools. This made Valgrind both a daily debugging command and a platform for building heavyweight dynamic-analysis experiments.

The project also became influential research and infrastructure. Nethercote records papers on Memcheck's bit-precise undefined-value tracking and Valgrind's heavyweight instrumentation architecture, and notes that later tools such as AddressSanitizer were inspired by Memcheck while making different speed/coverage tradeoffs. By the 2010s Seward and Nethercote had moved into emeritus roles, with many other contributors and Mark Wielaard as lead maintainer, but Valgrind remained a reference tool for deep user-space dynamic analysis.

### Adoption history

Adoption followed the places where native-code correctness bugs are expensive: C and C++ applications, libraries, language runtimes, databases, browsers, scientific programs, embedded software, and automated regression suites. The Valgrind site emphasizes that it works on existing binaries without recompilation and that it has been used on projects ranging from personal code to very large codebases. Its standard package-nerd usage remains direct and boring: compile with debug symbols, run a program under `valgrind` or a selected `--tool`, inspect source-mapped diagnostics, and, for CI or release checks, fail builds on leaks, invalid accesses, or concurrency issues.

### How it is used

Adoption followed the places where native-code correctness bugs are expensive: C and C++ applications, libraries, language runtimes, databases, browsers, scientific programs, embedded software, and automated regression suites. The Valgrind site emphasizes that it works on existing binaries without recompilation and that it has been used on projects ranging from personal code to very large codebases. Its standard package-nerd usage remains direct and boring: compile with debug symbols, run a program under `valgrind` or a selected `--tool`, inspect source-mapped diagnostics, and, for CI or release checks, fail builds on leaks, invalid accesses, or concurrency issues.

### Sources

- <https://nnethercote.github.io/2022/07/27/twenty-years-of-valgrind.html>
- <https://valgrind.org/docs/manual/valgrind_manual.pdf>
- <https://valgrind.org/info/about.html>


## Security Notes

No matching local secret-handling manifest was found for valgrind. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** valgrind
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Requirements:** linux
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - valgrind - 1:3.24.0-3: normalized package name match | Debian stable package indexes: valgrind from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | instrumentation framework for building dynamic analysis tools | https://www.valgrind.org/
- Debian apt - valgrind-mpi - 1:3.24.0-3: normalized package name match | Debian stable package indexes: valgrind-mpi from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | instrumentation framework for building dynamic analysis tools (MPI module) | https://www.valgrind.org/
- Nix - valgrind: normalized package name match | nixpkgs package indexes: pkgs/by-name/va/valgrind/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - valgrind - 1:3.22.0-0ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: valgrind from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | instrumentation framework for building dynamic analysis tools | https://www.valgrind.org/
- Ubuntu apt - valgrind-mpi - 1:3.22.0-0ubuntu3: normalized package name match | Ubuntu 24.04 LTS package indexes: valgrind-mpi from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | instrumentation framework for building dynamic analysis tools (MPI module) | https://www.valgrind.org/
- apk - valgrind - 3.25.1-r2: normalized package name match | Alpine Linux edge package indexes: valgrind from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Tool to help find memory-management problems in programs | https://valgrind.org/
- apk - valgrind-dev - 3.25.1-r2: normalized package name match | Alpine Linux edge package indexes: valgrind-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Tool to help find memory-management problems in programs (development files) | https://valgrind.org/
- apk - valgrind-doc - 3.25.1-r2: normalized package name match | Alpine Linux edge package indexes: valgrind-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Tool to help find memory-management problems in programs (documentation) | https://valgrind.org/
- apk - valgrind-scripts - 3.25.1-r2: normalized package name match | Alpine Linux edge package indexes: valgrind-scripts from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Tool to help find memory-management problems in programs (perl+python cachegrind/callgrind script tools) | https://valgrind.org/
- dnf - valgrind - 3.27.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: valgrind from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Dynamic analysis tools to detect memory or thread bugs and profile | https://www.valgrind.org/
- dnf - valgrind-devel - 3.27.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: valgrind-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for valgrind aware programs | https://www.valgrind.org/
- dnf - valgrind-docs - 3.27.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: valgrind-docs from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Documentation for valgrind tools, scripts and gdb integration | https://www.valgrind.org/
- dnf - valgrind-gdb - 3.27.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: valgrind-gdb from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Tools for integrating valgrind and gdb | https://www.valgrind.org/
- dnf - valgrind-openmpi - 3.27.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: valgrind-openmpi from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | OpenMPI support for valgrind | https://www.valgrind.org/
- dnf - valgrind-scripts - 3.27.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: valgrind-scripts from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Scripts for post-processing valgrind tool output | https://www.valgrind.org/
- dnf - valgrind-tools-devel - 3.27.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: valgrind-tools-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for building valgrind tools. | https://www.valgrind.org/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [dmalloc](https://www.automicvault.com/pkg/brew/dmalloc/) - Shares av.db curated category or tags: c, cli, debugging, developer-tools, memory-debugging.
- [gdb](https://www.automicvault.com/pkg/brew/gdb/) - Shares av.db curated category or tags: c, c-plus-plus, cli, debugging, developer-tools.
- [gdbgui](https://www.automicvault.com/pkg/brew/gdbgui/) - Shares av.db curated category or tags: c, c-plus-plus, cli, debugging, developer-tools.
- [uftrace](https://www.automicvault.com/pkg/brew/uftrace/) - Shares av.db curated category or tags: c, cli, developer-tools, profiling.
- [cargo-bloat](https://www.automicvault.com/pkg/brew/cargo-bloat/) - Shares av.db curated category or tags: cli, developer-tools, profiling.
- [cargo-flamegraph](https://www.automicvault.com/pkg/brew/cargo-flamegraph/) - Shares av.db curated category or tags: cli, developer-tools, profiling.
- [cargo-instruments](https://www.automicvault.com/pkg/brew/cargo-instruments/) - Shares av.db curated category or tags: cli, debugging, developer-tools, profiling.
- [clang-build-analyzer](https://www.automicvault.com/pkg/brew/clang-build-analyzer/) - Shares av.db curated category or tags: cli, developer-tools, profiling.
- [elfutils](https://www.automicvault.com/pkg/brew/elfutils/) - Local package facts share a topical domain. Shared terms: analysis, cli, debug, debugging, developer.

## Combined YAML source

View the package source record on GitHub. [combined/valgrind.yml](https://github.com/automic-vault/db/blob/main/combined/valgrind.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
