# Install kcov with Homebrew, apt, dnf, MacPorts, Nix, pacman, zypper

Code coverage tester for compiled programs, Python, and shell scripts. Version 43 via Homebrew; verified 2026-06-13.

## Install

```sh
sudo av install brew:kcov
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install kcov
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install kcov
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install kcov
```

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

- dnf (92%):

```sh
sudo dnf install kcov
```

  Evidence: Fedora Rawhide package metadata: kcov 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#kcov
```

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

- pacman (92%):

```sh
sudo pacman -S kcov
```

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

- zypper (92%):

```sh
sudo zypper install kcov
```

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

## Package facts

- **Package key:** brew:kcov
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/kcov>
- **Version:** 43
- **Source summary:** Code coverage tester for compiled programs, Python, and shell scripts
- **Homepage:** <https://simonkagstrom.github.io/kcov/>
- **Repository:** <https://github.com/SimonKagstrom/kcov>
- **Upstream docs:** <https://github.com/SimonKagstrom/kcov#readme>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/SimonKagstrom/kcov/archive/refs/tags/v43.tar.gz>
- **Last updated:** 2026-06-13T23:35:01+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- kcov (cli)
- kcov-system-daemon (cli)
- kcov (alias)
- kcov-system-daemon (alias)

## Dependencies

- dwarfutils
- openssl@3

## Build dependencies

- cmake
- pkgconf

## Uses from macOS

- curl

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 43
- Package-manager updated: 2026-06-13
- Local data: ok
- Upstream repository: https://github.com/SimonKagstrom/kcov
- info: No cached GitHub release or tag data was available.
## Project history and usage

kcov is a code coverage tool for compiled programs, Python, and shell scripts. Its README says it began as a fork of Bcov and uses DWARF debugging information so programs can be measured without special compiler switches.

### Project history

Simon Kagstrom created the GitHub repository in August 2010. From the README's account, kcov started with Bcov's idea of using debug information for coverage and then expanded into a broader coverage-reporting tool with HTML, lcov-style output, Cobertura XML, JSON output, and CI integrations.

Release history documents platform and integration work through the 2010s and 2020s, including Docker images from v31, macOS binaries in v32, FreeBSD and macOS build work in v36, AArch64 support in release 38, RISC-V and Codecov updates in v41, and Cobertura/Jenkins fixes in v43.

### Adoption history

The batch input records packages in Homebrew, Debian, Fedora, MacPorts, Nix, Arch, and openSUSE. Upstream docs also point to an official Docker image, making kcov available through both traditional package managers and container workflows.

### How it is used

A typical invocation runs kcov with an output directory and an executable plus arguments. Users filter included or excluded paths, merge multiple coverage runs, and publish reports to CI services such as Coveralls, Codecov, Jenkins, SonarQube, GitHub Actions, and GitLab CI.

### Why package nerds care

kcov is notable because it brings coverage to binaries and scripts without requiring the build to be compiled with coverage instrumentation. For distro packagers and CI maintainers, that makes it useful for testing shell-heavy or mixed-language projects where gcov-style workflows are awkward.

### Timeline

- 2010-08-23: GitHub repository created.
- 2015-11-02: v29 release published.
- 2016-04-28: v31 release published; README documents official Docker images for releases since v31.
- 2018-08-23: v36 release included FreeBSD port and macOS build fixes.
- 2020-01-17: release 38 added AArch64 support.
- 2024-07-23: v43 release included Cobertura and Jenkins fixes.

### Related projects

- kcov descends from Bcov and integrates with coverage-reporting services including Coveralls, Codecov, Jenkins, SonarQube, GitHub Actions, and GitLab CI.

### Sources

- <https://bcov.sourceforge.net/>
- <https://github.com/SimonKagstrom/kcov>
- <https://github.com/SimonKagstrom/kcov/releases>
- <https://simonkagstrom.github.io/kcov>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** kcov
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **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 - kcov - 43+dfsg-1+b4: normalized package name match | Debian stable package indexes: kcov from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Code coverage analysis using DWARF debugging information | https://simonkagstrom.github.io/kcov/
- Nix - kcov: normalized package name match | nixpkgs package indexes: pkgs/by-name/kc/kcov/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - kcov - 43-4.fc44: normalized package name match | Fedora Rawhide package metadata: kcov from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Code coverage tool without special compilation options | https://simonkagstrom.github.io/kcov
- pacman - kcov - 43-1: normalized package name match | Arch Linux sync databases: kcov from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Code coverage tester for compiled programs, Python scripts and shell scripts | https://simonkagstrom.github.io/kcov
- zypper - kcov - 42-4.3: normalized package name match | openSUSE Tumbleweed package metadata: kcov from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Code coverage tool without special compilation options | https://github.com/SimonKagstrom/kcov
- MacPorts - kcov: normalized package name match | MacPorts ports tree: devel/kcov/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [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.
- [dwarfutils](https://www.automicvault.com/pkg/brew/dwarfutils/) - Runtime dependency declared by Homebrew.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [gcovr](https://www.automicvault.com/pkg/brew/gcovr/) - Shares av.db curated category or tags: cli, coverage, developer-tools, testing.
- [lcov](https://www.automicvault.com/pkg/brew/lcov/) - Shares av.db curated category or tags: cli, coverage, developer-tools, testing.
- [allure](https://www.automicvault.com/pkg/brew/allure/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [artillery](https://www.automicvault.com/pkg/brew/artillery/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [busted](https://www.automicvault.com/pkg/brew/busted/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [bzt](https://www.automicvault.com/pkg/brew/bzt/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [cargo-fuzz](https://www.automicvault.com/pkg/brew/cargo-fuzz/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [cargo-hack](https://www.automicvault.com/pkg/brew/cargo-hack/) - Shares av.db curated category or tags: cli, developer-tools, testing.
- [localstack](https://www.automicvault.com/pkg/brew/localstack/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, developer, developer-tools, openssl, openssl-3.

## Combined YAML source

View the package source record on GitHub. [combined/kcov.yml](https://github.com/automic-vault/db/blob/main/combined/kcov.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
