Automic VaultAutomic Vault

brew

Install g2o with Homebrew, apt, Nix

General framework for graph optimization. Version 20241228 via Homebrew; verified 2026-06-25.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install g2o

local Homebrew formula metadata

Linux

Debian aptverified · 92%
sudo apt install libg2o-dev

Debian stable package indexes · libg2o-dev · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#g2o

nixpkgs package indexes · pkgs/by-name/g2/g2o/package.nix · source: api.github.com

overview

Package summary

General framework for graph optimization

Commands and aliases

  • g2o
  • g2o_simulator2d
  • g2o_simulator3d

history

Project history and usage

g2o is an open-source C++ framework for graph-based nonlinear optimization, best known in robotics and computer vision for simultaneous localization and mapping (SLAM) and bundle adjustment (BA) problems.

Project history

The project was presented by Rainer Kuemmerle, Giorgio Grisetti, Hauke Strasdat, Kurt Konolige, and Wolfram Burgard as "g2o: A General Framework for Graph Optimization" at ICRA 2011. OpenSLAM described the hosted code as a stable release and pointed users to the GitHub repository for development code, including an improved Schur complement implementation and BSD relicensing.

The GitHub repository was created in January 2012 and describes g2o as a framework for optimizing graph-based nonlinear error functions. Its README documents CMake/Eigen-based builds, multiple command-line programs, and current support across Linux, macOS, Windows, and Android-related build flows.

Adoption history

g2o entered package-manager culture because it packages a research-grade SLAM and bundle-adjustment optimizer as a reusable C++ library and CLI toolkit. The upstream README explicitly documents Homebrew installation, and the input package facts list Homebrew, Debian, Ubuntu, and Nix package names.

The project also attracted wrapper projects, including a Python binding published separately and a .NET wrapper, showing use beyond direct C++ embedding.

How it is used

Users model problems as graph nodes and edges and run g2o's optimizers on nonlinear least-squares graph formulations. Upstream examples and documentation emphasize SLAM, bundle adjustment, and text log formats containing node and edge messages.

Package users commonly install the library and tools, then link against g2o from robotics or computer-vision software, or use its command-line binaries such as g2o and the simulator tools.

Why package nerds care

g2o is significant because it is a classic academic C++ optimizer that escaped paper-code status into long-lived distro packaging. It carries the usual package-maintainer wrinkles: optional SuiteSparse, Qt/libQGLViewer GUI pieces, mixed license notes for subcomponents, and ABI-sensitive C++ dependencies.

Timeline

  • 2011: g2o paper published at IEEE ICRA.
  • 2012: Development repository created on GitHub.
  • 2010s: Packaged across Homebrew, Debian/Ubuntu, and Nix according to the supplied package facts.
  • 2020s: README documents cross-platform CI/build support and related Python/.NET wrapper projects.

Related projects

  • OpenSLAM hosted the original project page and stable release information.
  • g2o-python provides separately packaged Python bindings.
  • The README also points to a .NET wrapper for g2o.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
g2ocliglobal executable
g2o_simulator2dcliglobal executable
g2o_simulator3dcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version20241228
manager updated2026-06-25
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/RainerKuemmerle/g2o

install metadata

Package metadata

Package keybrew:g2o
Version20241228
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/g2o
Homepagehttps://openslam-org.github.io/g2o.html
Repositoryhttps://github.com/RainerKuemmerle/g2o
Upstream docshttps://github.com/RainerKuemmerle/g2o#readme
LicenseBSD-2-Clause
Source archivehttps://github.com/RainerKuemmerle/g2o/archive/refs/tags/20241228_git.tar.gz
Last updated2026-06-25T13:37:41+02:00
Pulseupdated
Dependencieseigen
Build dependenciescmake
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sequoia, sonoma, tahoe, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameg2o
Version Scheme0
Revision1
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

libg2o-dev 0~20230806-4.1+b2

C++ framework for optimizing graph-based nonlinear error functions

http://www.g2o.org

sudo apt install libg2o-dev
  • Section: libdevel
  • Architecture: amd64
  • Source Package: g2o
  • 3 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: G2o
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libg2o-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libg2o-doc 0~20230806-4.1

C++ framework for optimizing graph-based nonlinear error functions

http://www.g2o.org

sudo apt install libg2o-doc
  • Section: doc
  • Architecture: all
  • Source Package: g2o
  • normalized package name match
  • Matched by: G2o
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libg2o-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libg2o0t64 0~20230806-4.1+b2

C++ framework for optimizing graph-based nonlinear error functions

http://www.g2o.org

sudo apt install libg2o0t64
  • Section: libs
  • Architecture: amd64
  • Source Package: g2o
  • 9 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: G2o
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libg2o0t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

g2o

nix profile install nixpkgs#g2o
  • normalized package name match
  • Matched by: G2o
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/g2/g2o/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

libg2o-dev 0~20230806-4.1build1

C++ framework for optimizing graph-based nonlinear error functions

http://www.g2o.org

sudo apt install libg2o-dev
  • Section: universe/libdevel
  • Architecture: amd64
  • Source Package: g2o
  • 3 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: G2o
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libg2o-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libg2o-doc 0~20230806-4.1build1

C++ framework for optimizing graph-based nonlinear error functions

http://www.g2o.org

sudo apt install libg2o-doc
  • Section: universe/doc
  • Architecture: all
  • Source Package: g2o
  • normalized package name match
  • Matched by: G2o
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libg2o-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libg2o0t64 0~20230806-4.1build1

C++ framework for optimizing graph-based nonlinear error functions

http://www.g2o.org

sudo apt install libg2o0t64
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: g2o
  • 9 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: G2o
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libg2o0t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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