macOS
brew install g2olocal Homebrew formula metadata
brew
General framework for graph optimization. Version 20241228 via Homebrew; verified 2026-06-25.
install
brew install g2olocal Homebrew formula metadata
sudo apt install libg2o-devDebian stable package indexes · libg2o-dev · source: deb.debian.org
nix profile install nixpkgs#g2onixpkgs package indexes · pkgs/by-name/g2/g2o/package.nix · source: api.github.com
overview
General framework for graph optimization
history
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.
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.
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.
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.
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.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
g2o | cli | global executable | |
g2o_simulator2d | cli | global executable | |
g2o_simulator3d | cli | global executable |
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.
https://github.com/RainerKuemmerle/g2o
install metadata
| Package key | brew:g2o |
|---|---|
| Version | 20241228 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/g2o |
| Homepage | https://openslam-org.github.io/g2o.html |
| Repository | https://github.com/RainerKuemmerle/g2o |
| Upstream docs | https://github.com/RainerKuemmerle/g2o#readme |
| License | BSD-2-Clause |
| Source archive | https://github.com/RainerKuemmerle/g2o/archive/refs/tags/20241228_git.tar.gz |
| Last updated | 2026-06-25T13:37:41+02:00 |
| Pulse | updated |
| Dependencies | eigen |
| Build dependencies | cmake |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sequoia, sonoma, tahoe, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | g2o |
| Version Scheme | 0 |
| Revision | 1 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
libg2o-dev 0~20230806-4.1+b2
C++ framework for optimizing graph-based nonlinear error functions
sudo apt install libg2o-devlibg2o-doc 0~20230806-4.1
C++ framework for optimizing graph-based nonlinear error functions
sudo apt install libg2o-doclibg2o0t64 0~20230806-4.1+b2
C++ framework for optimizing graph-based nonlinear error functions
sudo apt install libg2o0t64g2o
nix profile install nixpkgs#g2olibg2o-dev 0~20230806-4.1build1
C++ framework for optimizing graph-based nonlinear error functions
sudo apt install libg2o-devlibg2o-doc 0~20230806-4.1build1
C++ framework for optimizing graph-based nonlinear error functions
sudo apt install libg2o-doclibg2o0t64 0~20230806-4.1build1
C++ framework for optimizing graph-based nonlinear error functions
sudo apt install libg2o0t64source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.