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

Ham radio control libraries. Version 4.7.2 via Homebrew; verified 2026-06-21.

## Install

```sh
sudo av install brew:hamlib
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install hamlib
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install hamlib
```

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

### Linux

- apk (92%):

```sh
sudo apk add hamlib
```

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

- Debian apt (92%):

```sh
sudo apt install libhamlib++-dev
```

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

- dnf (92%):

```sh
sudo dnf install hamlib
```

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

  Evidence: nixpkgs package indexes: hamlib from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S hamlib
```

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

- zypper (92%):

```sh
sudo zypper install hamlib
```

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

## Package facts

- **Package key:** brew:hamlib
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/hamlib>
- **Version:** 4.7.2
- **Source summary:** Ham radio control libraries
- **Homepage:** <http://www.hamlib.org/>
- **Repository:** <https://github.com/Hamlib/Hamlib>
- **Upstream docs:** <https://github.com/Hamlib/Hamlib/wiki>
- **License:** LGPL-2.1-or-later
- **Source archive:** <https://github.com/Hamlib/Hamlib/releases/download/4.7.2/hamlib-4.7.2.tar.gz>
- **Last updated:** 2026-06-21T15:41:01Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ampctl (cli)
- ampctld (cli)
- rigctl (cli)
- rigctlcom (cli)
- rigctld (cli)
- rigctlsync (cli)
- rigctltcp (cli)
- rigmem (cli)
- rigsmtr (cli)
- rigswr (cli)
- rigtestlibusb (cli)
- rigtestmcast (cli)
- rigtestmcastrx (cli)
- rotctl (cli)
- rotctld (cli)
- ampctl (alias)
- ampctld (alias)
- rigctl (alias)
- rigctlcom (alias)
- rigctld (alias)
- rigctlsync (alias)
- rigctltcp (alias)
- rigmem (alias)
- rigsmtr (alias)
- rigswr (alias)
- rigtestlibusb (alias)
- rigtestmcast (alias)
- rigtestmcastrx (alias)
- rotctl (alias)
- rotctld (alias)

## Dependencies

- libtool
- libusb
- libusb-compat

## Build dependencies

- autoconf
- automake
- pkgconf

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

Hamlib is the long-running free-software control layer for amateur-radio rigs, rotators, and amplifiers. It matters because it gives radio applications a shared API and command set instead of forcing every logging, digital-mode, contest, or satellite tool to speak each device protocol directly.

### Project history

Hamlib traces its copyright lineage to Frank Singleton, Stephane Fillod, and the Hamlib Group beginning in 2000. The official README describes the project goal as stable, flexible shared libraries for faster development of amateur-radio equipment-control applications.

The design grew around a generic library API and backend modules for specific devices. The README describes `libhamlib` as the generic API seen by application programs, with radio, rotator, and amplifier backends behind it. That backend model is the central historical choice: support for new hardware can be added without rewriting every client application.

The project has also accumulated command-line utilities and network daemons. Tools such as `rigctl`, `rotctl`, and `ampctl` expose direct shell control and testing, while `rigctld`, `rotctld`, and `ampctld` make the same command families available over TCP sockets for applications written in other languages or running on other machines.

### Adoption history

Hamlib became infrastructure rather than a single end-user program. The official README notes C++ support, bindings for Perl, Python, and TCL, and a network daemon usable by any language with sockets. That made it practical for GUI applications, scripts, and distributed station-control setups to share the same hardware backends.

Package-manager adoption reflects that infrastructure role. The input package facts list Hamlib in Homebrew, Alpine, Debian/Ubuntu, Fedora, MacPorts, Nix, Arch, and openSUSE-style packaging, which is the kind of broad Unix distribution footprint expected for a hardware-control library used by other amateur-radio software.

### How it is used

Users and developers most often meet Hamlib through the control utilities. `rigctl` can set or query radio state from the shell, `rotctl` controls antenna rotators, and the daemon variants let multiple clients speak to equipment through TCP ports. The dummy model gives developers a way to test behavior without physical radio hardware.

For application authors, the package provides a common API for equipment capabilities and state. The library abstracts differences among serial, USB-serial, Ethernet, Wi-Fi, Bluetooth, and similar control paths where devices present a command interface.

### Why package nerds care

Hamlib is a classic package-nerd dependency: the executables are useful, but the real value is the shared ABI/API and the growing backend database. Distributions package it because many higher-level radio tools can depend on one control library instead of vendoring device protocols or requiring users to build hardware drivers from source.

It is also a packaging stress case. The project spans C libraries, command-line tools, daemon protocols, language bindings, release branches, and hardware-specific backends. Packagers care about Hamlib because an upgrade can unlock new equipment support, but major-version or command/API changes can affect client applications that link to the library or script against the utilities.

### Timeline

- 2000: Copyright lineage begins with Frank Singleton, Stephane Fillod, and the Hamlib Group.
- 2001-2011: Copyright notices in utility manual pages identify Stephane Fillod's early long-term authorship period.
- 2002 onward: Hamlib Group contributor copyright appears in utility documentation.
- 2010s-2020s: The project continues as a shared library plus command utilities, daemon interfaces, bindings, release branches, and a GitHub-hosted master repository.

### Related projects

- Client applications commonly relate to Hamlib through the `rigctl`/`rotctl` utilities or the `rigctld`/`rotctld` network daemons. The project also relates to radio logging, digital-mode, satellite-tracking, and remote-station software that need standardized rig or rotator control.
- The project keeps a SourceForge presence for snapshots and backup distribution while the master repository is on GitHub.

### Sources

- <https://formulae.brew.sh/formula/hamlib>
- <https://github.com/Hamlib/Hamlib>
- <https://github.com/Hamlib/Hamlib/wiki>
- <https://github.com/Hamlib/Hamlib/wiki/Network-Device-Control>


## Security Notes

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

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** hamlib
- **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 - libhamlib++-dev - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: libhamlib++-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development C++ library to control radio transceivers and receivers | http://www.hamlib.org
- Debian apt - libhamlib++4t64 - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: libhamlib++4t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Run-time C++ library to control radio transceivers and receivers | http://www.hamlib.org
- Debian apt - libhamlib-dev - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: libhamlib-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Development library to control radio transceivers and receivers | http://www.hamlib.org
- Debian apt - libhamlib-doc - 4.6.2-1: normalized package name match | Debian stable package indexes: libhamlib-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Documentation for the hamlib radio control library | http://www.hamlib.org
- Debian apt - libhamlib-perl - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: libhamlib-perl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Run-time perl library to control radio transceivers and receivers | http://www.hamlib.org
- Debian apt - libhamlib-utils - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: libhamlib-utils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Utilities to support the hamlib radio control library | http://www.hamlib.org
- Debian apt - libhamlib4t64 - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: libhamlib4t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Run-time library to control radio transceivers and receivers | http://www.hamlib.org
- Debian apt - lua-hamlib - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: lua-hamlib from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Run-time Lua library to control radio transceivers and receivers | http://www.hamlib.org
- Debian apt - python3-hamlib - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: python3-hamlib from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Run-time Python3 library to control radio transceivers and receivers | http://www.hamlib.org
- Debian apt - tcl-hamlib - 4.6.2-1+b1: normalized package name match | Debian stable package indexes: tcl-hamlib from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Run-time Tcl library to control radio transceivers and receivers | http://www.hamlib.org
- Nix - hamlib: normalized package name match | nixpkgs package indexes: hamlib from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - libhamlib++-dev - 4.5.5-3.2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libhamlib++-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Development C++ library to control radio transceivers and receivers | https://sourceforge.net/projects/hamlib/
- Ubuntu apt - libhamlib++4t64 - 4.5.5-3.2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libhamlib++4t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Run-time C++ library to control radio transceivers and receivers | https://sourceforge.net/projects/hamlib/
- Ubuntu apt - libhamlib-dev - 4.5.5-3.2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libhamlib-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Development library to control radio transceivers and receivers | https://sourceforge.net/projects/hamlib/
- Ubuntu apt - libhamlib-doc - 4.5.5-3.2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libhamlib-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Documentation for the hamlib radio control library | https://sourceforge.net/projects/hamlib/
- Ubuntu apt - libhamlib-perl - 4.5.5-3.2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libhamlib-perl from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Run-time perl library to control radio transceivers and receivers | https://sourceforge.net/projects/hamlib/


## 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.
- [Scientific computing packages](https://www.automicvault.com/pkg/scientific-computing-tools/) - Matched scientific computing metadata.
- [libtool](https://www.automicvault.com/pkg/brew/libtool/) - Runtime dependency declared by Homebrew.
- [libusb-compat](https://www.automicvault.com/pkg/brew/libusb-compat/) - Runtime dependency declared by Homebrew.
- [autoconf](https://www.automicvault.com/pkg/brew/autoconf/) - Build dependency declared by Homebrew.
- [automake](https://www.automicvault.com/pkg/brew/automake/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [direwolf](https://www.automicvault.com/pkg/brew/direwolf/) - Popular package that depends on this formula.
- [gpredict](https://www.automicvault.com/pkg/brew/gpredict/) - Popular package that depends on this formula.
- [btllib](https://www.automicvault.com/pkg/brew/btllib/) - Shares av.db curated category or tags: cli, library, science.
- [clhep](https://www.automicvault.com/pkg/brew/clhep/) - Shares av.db curated category or tags: cli, library, science.
- [flann](https://www.automicvault.com/pkg/brew/flann/) - Shares av.db curated category or tags: cli, library, science.
- [flexiblas](https://www.automicvault.com/pkg/brew/flexiblas/) - Shares av.db curated category or tags: cli, library, science.
- [gdcm](https://www.automicvault.com/pkg/brew/gdcm/) - Shares av.db curated category or tags: cli, library, science.
- [geos](https://www.automicvault.com/pkg/brew/geos/) - Shares av.db curated category or tags: cli, library, science.
- [ginac](https://www.automicvault.com/pkg/brew/ginac/) - Shares av.db curated category or tags: cli, library, science.
- [glpk](https://www.automicvault.com/pkg/brew/glpk/) - Shares av.db curated category or tags: cli, library, science.
- [librtlsdr](https://www.automicvault.com/pkg/brew/librtlsdr/) - Local package facts share a topical domain. Shared terms: cli, libusb, radio, science.
- [limesuite](https://www.automicvault.com/pkg/brew/limesuite/) - Local package facts share a topical domain. Shared terms: cli, libusb, radio, science.

## Combined YAML source

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