Skip to content

docs(install): fix required system libs, replay size, and library-ins…#2320

Draft
KrishnaH96 wants to merge 6 commits into
mainfrom
krishna/docs-2119-install-fixes
Draft

docs(install): fix required system libs, replay size, and library-ins…#2320
KrishnaH96 wants to merge 6 commits into
mainfrom
krishna/docs-2119-install-fixes

Conversation

@KrishnaH96
Copy link
Copy Markdown
Contributor

Part of #2119 (validate README / install examples). Small, hand-validated install-doc fixes (tested on Ubuntu 24.04).

Changes

  • ubuntu.md — add libgl1 libegl1 (OpenGL runtime for the always-installed open3d + rerun-sdk core deps; matches scripts/install.sh). Without them the visualizer fails at runtime with libGL.so.1: cannot open shared object file on minimal/headless/Docker installs. Also drop pre-commit (a dev [dependency-groups] tool, not needed by library users).
  • osx.md — drop pre-commit.
  • ubuntu.md / osx.md — note the inline export PATH is session-only (uv persists via the shell profile; open a new terminal).
  • go2/index.md — correct the replay first-run download to ~85 MB LFS / ~220 MB SQLite DB (was "~2.4 GB of LiDAR/video"), resolving the README-vs-go2 size inconsistency raised on Validate readme/install examples #2119.

Notes

Draft — description to be expanded. Broader #2119 findings (agentic-runfile import crash on the PyPI wheel, base[unitree] pulling torch, dev-install command divergence) will be summarized separately.

Contributor License Agreement

  • I have read and approved the CLA.

KrishnaH96 and others added 2 commits June 1, 2026 11:24
…tall noise (#2119)

- ubuntu.md: add libgl1/libegl1 — OpenGL runtime for the always-installed
  open3d + rerun-sdk core deps (matches scripts/install.sh); without them the
  visualizer fails at runtime with "libGL.so.1: cannot open shared object file"
  on minimal/headless/Docker installs. Drop pre-commit (a dev dependency-group
  tool, irrelevant to library users).
- osx.md: drop pre-commit.
- ubuntu.md/osx.md: note the inline `export PATH` is session-only (uv persists
  via the shell profile; open a new terminal).
- go2/index.md: correct replay first-run download to ~85 MB LFS / ~220 MB SQLite
  DB (was "~2.4 GB of LiDAR/video"), resolving the README vs go2 inconsistency.

Validated by hand on Ubuntu 24.04 per #2119.
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

…#2119)

- ubuntu.md: mention optional graphviz for blueprint-graph visualization
  (dimos logs "graphviz not found, skipping blueprint graph" without it;
  everything else still works).
- go2/index.md: note the first MuJoCo sim run also clones mujoco_menagerie and
  pulls a ~60 MB mujoco_sim asset bundle from LFS (one-time).
…issing (#2119)

Agentic blueprints use OpenAI for text-to-speech (SpeakSkill) and, by default,
the LLM agent. Without OPENAI_API_KEY the run previously crashed deep in
start_all_modules with an opaque ExceptionGroup (a SpeakSkill.start failure),
after already deploying modules and downloading assets.

Add an openai_api_key_set blueprint requirement check (mirroring ollama_installed)
on _common_agentic, so a missing key now fails at blueprint build with a clear,
actionable message + key link — before any modules deploy. This also makes the
OpenAI dependency of the -ollama variant explicit (it uses OpenAI TTS even with
a local LLM).
Comment thread docs/installation/osx.md
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# install dependencies
brew install gnu-sed gcc portaudio git-lfs libjpeg-turbo python pre-commit
brew install gnu-sed gcc portaudio git-lfs libjpeg-turbo python
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why drop pre-commit?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in both os install instructions pre-commit is used if using as a git-checkout

sudo apt-get install -y curl g++ portaudio19-dev git-lfs libturbojpeg python3-dev pre-commit
# Required system libraries. libturbojpeg + portaudio19-dev cover image/audio; libgl1 +
# libegl1 are the OpenGL runtime for open3d and rerun-sdk (both always-installed core deps).
# Without libgl1/libegl1 the visualizer fails at runtime with
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why all these comments?

# SpeakSkill (OpenAI TTS) needs OPENAI_API_KEY — fail fast at blueprint build with a
# clear message instead of an ExceptionGroup deep in start_all_modules. Mirrors the
# ollama_installed gate used by the -ollama variant.
openai_api_key_set,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Dreamsorcerer if we put this key as required config value for a module, will we be able to auto-crash? not to have a special case here

Copy link
Copy Markdown
Collaborator

@Dreamsorcerer Dreamsorcerer Jun 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, so it can either be a key for the module specifically, or we could add it to the global config and link to it.
Roughly:
openai_key: str = Field(default_factory=lambda d: d["g"].openai_key)

The global config openai_key can still be str | None.

You might also need to add validate_default=True to the pydantic config (maybe add it to BaseConfig or ModuleConfig to apply everywhere?)

Comment on lines +17 to +18
# NOTE: the `export` above only affects the current shell. Open a new terminal (or run
# `source ~/.bashrc`) so `uv` is on PATH in later sessions — the installer also adds it there.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this comment is necessary. Are there cases where uv is not accessible in other terminals after installation?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants