# Install c-ares with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Asynchronous DNS library. Version 1.34.8 via Homebrew; verified 2026-07-08.

## Install

```sh
sudo av install brew:c-ares
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install c-ares
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install c-ares
```

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

### Linux

- apk (92%):

```sh
sudo apk add c-ares
```

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

- Debian apt (92%):

```sh
sudo apt install libc-ares-dev
```

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

- dnf (92%):

```sh
sudo dnf install c-ares
```

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

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

- pacman (92%):

```sh
sudo pacman -S c-ares
```

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

- zypper (92%):

```sh
sudo zypper install c-ares-devel
```

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

## Package facts

- **Package key:** brew:c-ares
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/c-ares>
- **Version:** 1.34.8
- **Source summary:** Asynchronous DNS library
- **Homepage:** <https://c-ares.org/>
- **Repository:** <https://github.com/c-ares/c-ares>
- **Upstream docs:** <https://c-ares.org/docs.html>
- **License:** MIT
- **Source archive:** <https://github.com/c-ares/c-ares/releases/download/v1.34.8/c-ares-1.34.8.tar.gz>
- **Last updated:** 2026-07-08T02:31:43Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- adig (cli)
- ahost (cli)
- adig (alias)
- ahost (alias)

## Build dependencies

- cmake

## 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: 1.34.8
- Package-manager updated: 2026-07-08
- Local data: ok
- Upstream repository: https://github.com/c-ares/c-ares
- info: No cached GitHub release or tag data was available.
## Project history and usage

c-ares is an MIT-licensed C library for asynchronous DNS resolution. It grew out of Daniel Stenberg's search for a non-blocking resolver suitable for libcurl and became a long-lived dependency for network software that cannot afford blocking name lookups.

### Project history

The official `why` page explains that Daniel Stenberg looked for an asynchronous DNS resolver for libcurl, found the older ares library, began expanding it, and forked when the original author would not accept the needed changes. That fork became c-ares.

The project still acknowledges ares as the public API influence while noting that the code no longer closely resembles the original. Its README now describes c-ares as a modern DNS stub resolver written in C with asynchronous interfaces, portability across Unix, Windows, mobile, and other systems, and active maintenance after more than 20 years.

Recent project materials emphasize security practice as much as asynchronous lookup: safe parsers and builders, static and dynamic analysis, OSS-Fuzz coverage, signed releases, and SLSA provenance for release artifacts.

### Adoption history

c-ares adoption started from libcurl's need for DNS lookups that could integrate with event-driven network code. From there it spread into software that needs many DNS queries in parallel or wants resolver behavior independent from a platform's blocking libc calls.

Its package-manager footprint is broad: Homebrew, Debian and Ubuntu development packages, Fedora, Alpine, Arch, MacPorts, Nix, and openSUSE all package it. That breadth reflects its status as a library dependency more than an end-user command, although tools such as `adig` and `ahost` are installed with some packages.

### How it is used

Developers link against c-ares to issue asynchronous DNS queries through non-blocking sockets and integrate DNS work into event loops. The official docs include initialization APIs such as `ares_init_options` and resolver configuration behavior.

On Unix-like systems c-ares reads resolver environment from standard system files such as `/etc/resolv.conf` and `/etc/hosts`, matching the package's curated config-file locations.

### Why package nerds care

c-ares is one of those packages users may never invoke directly but build systems constantly care about. It is a small C library whose ABI, headers, pkg-config metadata, and security updates affect curl-like networking stacks across distributions.

For package nerds, it is also a clean example of a library fork becoming infrastructure: born from a specific libcurl need, preserved for API/ABI stability, and now maintained with modern supply-chain signals such as signed releases and SLSA provenance.

### Timeline

- Early 2000s: Daniel Stenberg searches for an asynchronous DNS resolver for libcurl and forks from ares to create c-ares.
- 2004: Early tags such as `c-ares-1_2_0` appear in the upstream repository history.
- 2010s: c-ares remains a common packaged dependency for asynchronous DNS in C networking software.
- 2024: The project site describes more than 20 years of active maintenance and modern DNS RFC support.
- 2025: The official site publishes c-ares 1.34.6 as a signed release with release provenance.

### Related projects

- libcurl is the motivating user described by the official history page.
- ares is the older resolver library from which c-ares forked.
- ADNS, UDNS, FireDNS, Mozilla netlib, djbdns, and other resolver libraries are discussed by the c-ares project as alternatives or contemporaries.

### Sources

- <https://c-ares.org/>
- <https://c-ares.org/why.html>
- <https://github.com/c-ares/c-ares/blob/main/README.md>
- <https://github.com/c-ares/c-ares/tags>
- source_facts.package-manager


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: /etc/resolv.conf, /etc/hosts
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** c-ares
- **Version Scheme:** 0
- **Revision:** 0
- **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 - libc-ares-dev - 1.34.5-1+deb13u1: normalized package name match | Debian stable package indexes: libc-ares-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | asynchronous name resolver - development files | https://c-ares.org/
- Debian apt - libc-ares2 - 1.34.5-1+deb13u1: normalized package name match | Debian stable package indexes: libc-ares2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | transitional package | https://c-ares.org/
- Debian apt - libcares2 - 1.34.5-1+deb13u1: normalized package name match | Debian stable package indexes: libcares2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | asynchronous name resolver | https://c-ares.org/
- Nix - c-ares: normalized package name match | nixpkgs package indexes: pkgs/by-name/c-/c-ares/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libc-ares-dev - 1.27.0-1.0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: libc-ares-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | asynchronous name resolver - development files | https://c-ares.org/
- Ubuntu apt - libcares2 - 1.27.0-1.0ubuntu1: normalized package name match | Ubuntu 24.04 LTS package indexes: libcares2 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | asynchronous name resolver | https://c-ares.org/
- apk - c-ares - 1.34.6-r0: normalized package name match | Alpine Linux edge package indexes: c-ares from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Asynchronous DNS/names resolver library | https://c-ares.org/
- apk - c-ares-dev - 1.34.6-r0: normalized package name match | Alpine Linux edge package indexes: c-ares-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Asynchronous DNS/names resolver library (development files) | https://c-ares.org/
- apk - c-ares-doc - 1.34.6-r0: normalized package name match | Alpine Linux edge package indexes: c-ares-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Asynchronous DNS/names resolver library (documentation) | https://c-ares.org/
- apk - c-ares-utils - 1.34.6-r0: normalized package name match | Alpine Linux edge package indexes: c-ares-utils from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Asynchronous DNS/names resolver library | https://c-ares.org/
- dnf - c-ares - 1.34.6-3.fc44: normalized package name match | Fedora Rawhide package metadata: c-ares from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A library that performs asynchronous DNS operations | http://c-ares.org/
- dnf - c-ares-devel - 1.34.6-3.fc44: normalized package name match | Fedora Rawhide package metadata: c-ares-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for c-ares | http://c-ares.org/
- pacman - c-ares - 1.34.6-1: normalized package name match | Arch Linux sync databases: c-ares from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A C library for asynchronous DNS requests | https://c-ares.org/
- zypper - c-ares-devel - 1.34.6-1.3: normalized package name match | openSUSE Tumbleweed package metadata: c-ares-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Development files for c-ares | https://c-ares.org/
- zypper - c-ares-utils - 1.34.6-1.3: normalized package name match | openSUSE Tumbleweed package metadata: c-ares-utils from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Tools for asynchronous name resolves | https://c-ares.org/
- zypper - libcares2 - 1.34.6-1.3: normalized package name match | openSUSE Tumbleweed package metadata: libcares2 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Library for asynchronous name resolves | https://c-ares.org/


## Related links

- [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.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [aria2](https://www.automicvault.com/pkg/brew/aria2/) - Popular package that depends on this formula.
- [drogon](https://www.automicvault.com/pkg/brew/drogon/) - Popular package that depends on this formula.
- [grpc](https://www.automicvault.com/pkg/brew/grpc/) - Popular package that depends on this formula.
- [libexosip](https://www.automicvault.com/pkg/brew/libexosip/) - Popular package that depends on this formula.
- [mavsdk](https://www.automicvault.com/pkg/brew/mavsdk/) - Popular package that depends on this formula.
- [nghttp2](https://www.automicvault.com/pkg/brew/nghttp2/) - Popular package that depends on this formula.
- [node](https://www.automicvault.com/pkg/brew/node/) - Popular package that depends on this formula.
- [adns](https://www.automicvault.com/pkg/brew/adns/) - Shares av.db curated category or tags: cli, dns, library, networking, resolver.
- [chinadns-c](https://www.automicvault.com/pkg/brew/chinadns-c/) - Shares av.db curated category or tags: c, cli, dns, networking.
- [hesiod](https://www.automicvault.com/pkg/brew/hesiod/) - Shares av.db curated category or tags: c, cli, dns, library, networking.
- [knot-resolver](https://www.automicvault.com/pkg/brew/knot-resolver/) - Shares av.db curated category or tags: cli, dns, networking, resolver.
- [nextdns](https://www.automicvault.com/pkg/brew/nextdns/) - Shares av.db curated category or tags: cli, dns, networking, resolver.
- [unbound](https://www.automicvault.com/pkg/brew/unbound/) - Shares av.db curated category or tags: cli, dns, networking, resolver.
- [bind](https://www.automicvault.com/pkg/brew/bind/) - Shares av.db curated category or tags: cli, dns, networking.
- [ddclient](https://www.automicvault.com/pkg/brew/ddclient/) - Shares av.db curated category or tags: cli, dns, networking.
- [getdns](https://www.automicvault.com/pkg/brew/getdns/) - Local package facts share a topical domain. Shared terms: asynchronous, cli, dns, networking, resolver.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
