Automic VaultAutomic Vault

brew

Install lcm with Homebrew, apt, Nix

Libraries and tools for message passing and data marshalling. Version 1.5.2 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install lcm

local Homebrew formula metadata

Linux

Debian aptverified · 92%
sudo apt install liblcm-bin

Debian stable package indexes · liblcm-bin · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#lcm

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

overview

Package summary

Libraries and tools for message passing and data marshalling

Commands and aliases

  • lcm-gen
  • lcm-logger
  • lcm-logplayer
  • lcm-logplayer-gui
  • lcm-spy

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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`.

Why package nerds care

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.

Timeline

  • 2006: Originally developed for the MIT DARPA Urban Challenge team.
  • 2009: MIT CSAIL technical report published an expanded LCM description.
  • 2010: IROS paper described LCM for low-latency message passing and marshalling.
  • 2013-06-08: Version 1.0.0 released.
  • 2014-11-18: Version 1.2.0 marked migration of the official site to GitHub.
  • 2018-08-30: Version 1.4.0 switched the build system to CMake.
  • 2023-04-19: Version 1.5.0 moved documentation to Sphinx at `lcm-proj.github.io/lcm/`.
  • 2025-10-23: Version 1.5.2 added stable source archive attachments and Windows-related tool support.

Related projects

  • Related projects include ROS, robotics log and replay tools, UDP multicast infrastructure, DARPA Urban Challenge software stacks, CMake, Sphinx, Java and Python language bindings, and community forks adding languages such as Rust and Vala.

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 6 platform targets.
  • Installs with 4 runtime dependencies.
  • Build metadata lists 2 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
lcm-gencliglobal executable
lcm-loggercliglobal executable
lcm-logplayercliglobal executable
lcm-logplayer-guicliglobal executable
lcm-spycliglobal 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 version1.5.2
manager updated
local dataok
upstreamcurrent
latest detectedv1.5.2

https://github.com/lcm-proj/lcm

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:lcm
Version1.5.2
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/lcm
Homepagehttps://lcm-proj.github.io/
Repositoryhttps://github.com/lcm-proj/lcm
Upstream docshttps://lcm-proj.github.io/lcm
LicenseLGPL-2.1-or-later
Source archivehttps://github.com/lcm-proj/lcm/archive/refs/tags/v1.5.2.tar.gz
Dependenciesglib, lua, openjdk, python@3.14
Build dependenciescmake, pkgconf
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namelcm
Version Scheme0
Revision1
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • 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%

liblcm-bin 1.3.1+repack1-9

Lightweight Communications and Marshalling - Executable tools

http://lcm-proj.github.io/

sudo apt install liblcm-bin
  • Section: libs
  • Architecture: amd64
  • Source Package: lcm
  • 3 dependencies
  • normalized package name match
  • Matched by: Lcm
Debian stable package indexes · deb.debian.org · Debian stable package indexes: liblcm-bin from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

liblcm-dev 1.3.1+repack1-9

Lightweight Communications and Marshalling - Dev files

http://lcm-proj.github.io/

sudo apt install liblcm-dev
  • Section: libs
  • Architecture: amd64
  • Source Package: lcm
  • 2 dependencies
  • normalized package name match
  • Matched by: Lcm
Debian stable package indexes · deb.debian.org · Debian stable package indexes: liblcm-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

liblcm-doc 1.3.1+repack1-9

Lightweight Communications and Marshalling - Documentation

http://lcm-proj.github.io/

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

liblcm-java 1.3.1+repack1-9

Lightweight Communications and Marshalling - Java Interface

http://lcm-proj.github.io/

sudo apt install liblcm-java
  • Section: libs
  • Architecture: amd64
  • Source Package: lcm
  • 2 dependencies
  • normalized package name match
  • Matched by: Lcm
Debian stable package indexes · deb.debian.org · Debian stable package indexes: liblcm-java from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

liblcm1 1.3.1+repack1-9

Lightweight Communications and Marshalling - Runtime lib

http://lcm-proj.github.io/

sudo apt install liblcm1
  • Section: libs
  • Architecture: amd64
  • Source Package: lcm
  • 2 dependencies
  • normalized package name match
  • Matched by: Lcm
Debian stable package indexes · deb.debian.org · Debian stable package indexes: liblcm1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

lcm

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

liblcm-bin 1.5.0~repack1-0ubuntu1

Lightweight Communications and Marshalling - Executable tools

http://lcm-proj.github.io/

sudo apt install liblcm-bin
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: lcm
  • 5 dependencies
  • normalized package name match
  • Matched by: Lcm
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: liblcm-bin from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

liblcm-dev 1.5.0~repack1-0ubuntu1

Lightweight Communications and Marshalling - Dev files

http://lcm-proj.github.io/

sudo apt install liblcm-dev
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: lcm
  • 2 dependencies
  • normalized package name match
  • Matched by: Lcm
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: liblcm-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

liblcm-doc 1.5.0~repack1-0ubuntu1

Lightweight Communications and Marshalling - Documentation

http://lcm-proj.github.io/

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

liblcm-java 1.5.0~repack1-0ubuntu1

Lightweight Communications and Marshalling - Java Interface

http://lcm-proj.github.io/

sudo apt install liblcm-java
  • Section: universe/libs
  • Architecture: all
  • Source Package: lcm
  • 1 dependencies
  • normalized package name match
  • Matched by: Lcm
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: liblcm-java from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

liblcm1 1.5.0~repack1-0ubuntu1

Lightweight Communications and Marshalling - Runtime lib

http://lcm-proj.github.io/

sudo apt install liblcm1
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: lcm
  • 2 dependencies
  • normalized package name match
  • Matched by: Lcm
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: liblcm1 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

python3-lcm 1.5.0~repack1-0ubuntu1

Lightweight Communications and Marshalling - Python Interface

http://lcm-proj.github.io/

sudo apt install python3-lcm
  • Section: universe/python
  • Architecture: amd64
  • Source Package: lcm
  • 6 dependencies
  • normalized package name match
  • Matched by: Lcm
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: python3-lcm 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