# Install geographiclib with Homebrew, apt, dnf, MacPorts, Nix

C++ geography library. Version 2.7 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:geographiclib
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install geographiclib
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install geographiclib
```

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

### Linux

- Debian apt (92%):

```sh
sudo apt install geographiclib-doc
```

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

- dnf (92%):

```sh
sudo dnf install GeographicLib
```

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

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

## Package facts

- **Package key:** brew:geographiclib
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/geographiclib>
- **Version:** 2.7
- **Source summary:** C++ geography library
- **Homepage:** <https://geographiclib.sourceforge.io/>
- **Repository:** <https://github.com/geographiclib/geographiclib>
- **Upstream docs:** <https://geographiclib.sourceforge.io/>
- **License:** MIT
- **Source archive:** <https://github.com/geographiclib/geographiclib/archive/refs/tags/r2.7.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- Cart3Convert (cli)
- CartConvert (cli)
- Conformal3Proj (cli)
- ConicProj (cli)
- GeoConvert (cli)
- Geod3Solve (cli)
- GeodSolve (cli)
- GeodesicProj (cli)
- GeoidEval (cli)
- Gravity (cli)
- IntersectTool (cli)
- MagneticField (cli)
- Planimeter (cli)
- RhumbSolve (cli)
- TransverseMercatorProj (cli)
- geographiclib-get-geoids (cli)
- geographiclib-get-gravity (cli)
- geographiclib-get-magnetic (cli)
- Cart3Convert (alias)
- CartConvert (alias)
- Conformal3Proj (alias)
- ConicProj (alias)
- GeoConvert (alias)
- Geod3Solve (alias)
- GeodSolve (alias)
- GeodesicProj (alias)
- GeoidEval (alias)
- Gravity (alias)
- IntersectTool (alias)
- MagneticField (alias)
- Planimeter (alias)
- RhumbSolve (alias)
- TransverseMercatorProj (alias)
- geographiclib-get-geoids (alias)
- geographiclib-get-gravity (alias)
- geographiclib-get-magnetic (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: 2.7
- Local data: ok
- Upstream repository: https://github.com/geographiclib/geographiclib
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

GeographicLib is a family of geodesy libraries descended from Charles Karney's C++ library, which began in 2008. The C++ library provides geodesic and rhumb-line calculations, coordinate conversions, gravity and geomagnetic field calculations, triaxial-ellipsoid computations, command-line utilities, and high-accuracy algorithms intended to return results near round-off error.

### Project history

The project began as a C++ library, then grew because its geodesic routines were useful enough to port to several other languages. Before version 2.0, those implementations lived together in one repository; after version 2.0 they were split into a family of repositories, leaving the C++ repository as the broadest implementation.

The documentation describes GeographicLib as project-hosted on SourceForge, with repositories on GitHub and package distributions maintained through SourceForge. The C++ repository also documents separate release and development branches, a pattern useful to downstream packagers who need stable tagged releases.

### Adoption history

GeographicLib's geodesic routines spread beyond the C++ package into C, Fortran, Python, Octave/MATLAB, Java, and JavaScript implementations. The C library is incorporated into PROJ and the R geosphere package, and official notes list downstream availability in Linux distributions, conda-forge, vcpkg, and Homebrew.

### How it is used

Practitioners use GeographicLib when accuracy matters for ellipsoidal geodesics, UTM/UPS/MGRS conversion, geocentric and local Cartesian conversion, geoid height evaluation, gravity models, magnetic models, polygon perimeter and area, and rhumb-line calculations. The package exposes this work through C++ APIs and many small utilities such as `GeodSolve`, `GeoConvert`, `GeoidEval`, `Gravity`, and `MagneticField`.

### Why package nerds care

For package-manager users, GeographicLib is a compact but foundational geodesy dependency: it provides command-line tools, data installers, and stable library APIs used by mapping, GIS, surveying, navigation, and scientific software. The split between code packages and optional datasets makes it a classic packaging case where binaries and data files are handled separately.

### Timeline

- 2008: Charles Karney's original C++ library began.
- 2009-2025: The documentation copyright span reflects long-running public maintenance.
- 2.0: Language implementations were separated into a family of repositories.

### Related projects

- Related implementations include GeographicLib-C, GeographicLib-Fortran, GeographicLib-Python, GeographicLib-Java, and JavaScript packages. The documentation also names PROJ, geosphere, conda-forge, vcpkg, Homebrew, and several independent ports or wrappers.

### Sources

- <https://geographiclib.sourceforge.io/>
- <https://geographiclib.sourceforge.io/C++/doc/index.html>
- <https://geographiclib.sourceforge.io/doc/library.html>
- <https://github.com/geographiclib/geographiclib>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** geographiclib
- **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 - geographiclib-doc - 2.5-1: normalized package name match | Debian stable package indexes: geographiclib-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C++ library to solve some geodesic problems -- documentation | https://geographiclib.sourceforge.io/
- Debian apt - geographiclib-tools - 2.5-1: normalized package name match | Debian stable package indexes: geographiclib-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C++ library to solve some geodesic problems -- tools | https://geographiclib.sourceforge.io/
- Debian apt - libgeographiclib-dev - 2.5-1: normalized package name match | Debian stable package indexes: libgeographiclib-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C++ library to solve some geodesic problems -- development files | https://geographiclib.sourceforge.io/
- Debian apt - libgeographiclib26 - 2.5-1: normalized package name match | Debian stable package indexes: libgeographiclib26 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C++ library to solve some geodesic problems -- library | https://geographiclib.sourceforge.io/
- Nix - geographiclib: normalized package name match | nixpkgs package indexes: pkgs/by-name/ge/geographiclib/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - geographiclib-doc - 2.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: geographiclib-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C++ library to solve some geodesic problems -- documentation | https://geographiclib.sourceforge.io/
- Ubuntu apt - geographiclib-tools - 2.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: geographiclib-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C++ library to solve some geodesic problems -- tools | https://geographiclib.sourceforge.io/
- Ubuntu apt - libgeographiclib-dev - 2.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgeographiclib-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C++ library to solve some geodesic problems -- development files | https://geographiclib.sourceforge.io/
- Ubuntu apt - libgeographiclib26 - 2.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libgeographiclib26 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C++ library to solve some geodesic problems -- library | https://geographiclib.sourceforge.io/
- dnf - GeographicLib - 2.7-3.fc44: normalized package name match | Fedora Rawhide package metadata: GeographicLib from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Library for geographic coordinate transformations | https://github.com/geographiclib/geographiclib
- dnf - GeographicLib-devel - 2.7-3.fc44: normalized package name match | Fedora Rawhide package metadata: GeographicLib-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files and libraries for GeographicLib | https://github.com/geographiclib/geographiclib
- dnf - GeographicLib-doc - 2.7-3.fc44: normalized package name match | Fedora Rawhide package metadata: GeographicLib-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development documentation for GeographicLib | https://github.com/geographiclib/geographiclib
- dnf - mingw32-GeographicLib - 2.7-3.fc44: normalized package name match | Fedora Rawhide package metadata: mingw32-GeographicLib from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | MinGW Windows GeographicLib library | https://github.com/geographiclib/geographiclib
- dnf - mingw64-GeographicLib - 2.7-3.fc44: normalized package name match | Fedora Rawhide package metadata: mingw64-GeographicLib from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | MinGW Windows GeographicLib library | https://github.com/geographiclib/geographiclib
- MacPorts - geographiclib: normalized package name match | MacPorts ports tree: gis/geographiclib/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- MacPorts - gravity: installed executable or alias match | MacPorts ports tree: lang/gravity/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [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.
- [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.
- [geos](https://www.automicvault.com/pkg/brew/geos/) - Shares av.db curated category or tags: c-plus-plus, cli, geospatial, science.
- [sfcgal](https://www.automicvault.com/pkg/brew/sfcgal/) - Shares av.db curated category or tags: c-plus-plus, cli, geospatial, science.
- [gmt](https://www.automicvault.com/pkg/brew/gmt/) - Shares av.db curated category or tags: cli, geospatial, science.
- [proj](https://www.automicvault.com/pkg/brew/proj/) - Shares av.db curated category or tags: cli, geospatial, science.
- [biosig](https://www.automicvault.com/pkg/brew/biosig/) - Shares av.db curated category or tags: c-plus-plus, cli, science.
- [ccfits](https://www.automicvault.com/pkg/brew/ccfits/) - Shares av.db curated category or tags: c-plus-plus, cli, science.
- [clhep](https://www.automicvault.com/pkg/brew/clhep/) - Shares av.db curated category or tags: c-plus-plus, cli, science.
- [clp](https://www.automicvault.com/pkg/brew/clp/) - Shares av.db curated category or tags: c-plus-plus, cli, science.

## Combined YAML source

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