macOS
brew install lcmlocal Homebrew formula metadata
brew
Libraries and tools for message passing and data marshalling. Version 1.5.2 via Homebrew; verified from local package data.
install
brew install lcmlocal Homebrew formula metadata
sudo apt install liblcm-binDebian stable package indexes · liblcm-bin · source: deb.debian.org
nix profile install nixpkgs#lcmnixpkgs package indexes · pkgs/by-name/lc/lcm/package.nix · source: api.github.com
overview
Libraries and tools for message passing and data marshalling
history
LCM, Lightweight Communications and Marshalling, is a message-passing and data-marshalling system for real-time robotics and autonomous systems. It combines publish/subscribe transport, a type specification language, generated language bindings, logging, playback, and traffic inspection tools.
The official documentation says LCM was originally developed in 2006 for the MIT DARPA Urban Challenge team. The project authors list Edwin Olson, David Moore, and Albert Huang as original authors, and the 2009 MIT technical report and 2010 IROS paper describe the design as a low-latency, hubless communication library for robotics research.
LCM's early design emphasized UDP multicast, generated type-safe bindings, log files, and tools such as `lcm-logger`, `lcm-logplayer`, and `lcm-spy`. Version 1.0.0 was released on 2013-06-08, and later releases added Python 3 support, CMake, Lua, Go experiments, Windows work, Sphinx documentation, Python wheels, Meson/Bazel work, and maintenance for newer compilers and operating systems.
LCM spread through robotics and autonomous-systems groups because it was lighter than larger middleware stacks and did not require a central daemon or broker. The official docs list users from research and production environments, including universities, automakers, defense companies, robotics companies, Google, MIT, KAIST, University of Michigan, Volvo Car Group, and Woods Hole Oceanographic Institute.
Package adoption in Homebrew, Debian/Ubuntu, and Nix reflects its use by developers who need reproducible CLI tools and libraries for logging and replaying robotic messages alongside C, C++, Java, Lua, MATLAB, and Python bindings.
Typical usage defines message types in `.lcm` files, generates bindings with `lcm-gen`, publishes and subscribes to channels from application code, records traffic with `lcm-logger`, replays logs with `lcm-logplayer`, and inspects live traffic with `lcm-spy`.
LCM matters to package nerds because it is infrastructure glue for robotics: libraries, code generators, command-line tools, Java artifacts, Python modules, and documentation all have to line up across languages and platforms.
It is also a useful contrast with ROS-style middleware. LCM's no-daemon, UDP-multicast, few-dependency design makes it attractive in package managers where small dependency closure and easy installation matter.
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 |
|---|---|---|---|
lcm-gen | cli | global executable | |
lcm-logger | cli | global executable | |
lcm-logplayer | cli | global executable | |
lcm-logplayer-gui | cli | global executable | |
lcm-spy | 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/lcm-proj/lcm
install metadata
| Package key | brew:lcm |
|---|---|
| Version | 1.5.2 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/lcm |
| Homepage | https://lcm-proj.github.io/ |
| Repository | https://github.com/lcm-proj/lcm |
| Upstream docs | https://lcm-proj.github.io/lcm |
| License | LGPL-2.1-or-later |
| Source archive | https://github.com/lcm-proj/lcm/archive/refs/tags/v1.5.2.tar.gz |
| Dependencies | glib, lua, openjdk, python@3.14 |
| Build dependencies | cmake, pkgconf |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | lcm |
| Version Scheme | 0 |
| Revision | 1 |
| Head Version | HEAD |
| 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.
liblcm-bin 1.3.1+repack1-9
Lightweight Communications and Marshalling - Executable tools
sudo apt install liblcm-binliblcm-dev 1.3.1+repack1-9
Lightweight Communications and Marshalling - Dev files
sudo apt install liblcm-devliblcm-doc 1.3.1+repack1-9
Lightweight Communications and Marshalling - Documentation
sudo apt install liblcm-docliblcm-java 1.3.1+repack1-9
Lightweight Communications and Marshalling - Java Interface
sudo apt install liblcm-javaliblcm1 1.3.1+repack1-9
Lightweight Communications and Marshalling - Runtime lib
sudo apt install liblcm1lcm
nix profile install nixpkgs#lcmliblcm-bin 1.5.0~repack1-0ubuntu1
Lightweight Communications and Marshalling - Executable tools
sudo apt install liblcm-binliblcm-dev 1.5.0~repack1-0ubuntu1
Lightweight Communications and Marshalling - Dev files
sudo apt install liblcm-devliblcm-doc 1.5.0~repack1-0ubuntu1
Lightweight Communications and Marshalling - Documentation
sudo apt install liblcm-docliblcm-java 1.5.0~repack1-0ubuntu1
Lightweight Communications and Marshalling - Java Interface
sudo apt install liblcm-javaliblcm1 1.5.0~repack1-0ubuntu1
Lightweight Communications and Marshalling - Runtime lib
sudo apt install liblcm1python3-lcm 1.5.0~repack1-0ubuntu1
Lightweight Communications and Marshalling - Python Interface
sudo apt install python3-lcmsource 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.