fix(desktop-backend): add gcc to Dockerfile for webrtcvad C extension build - #10816
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6264541677
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| RUN python3 -m pip install --no-cache-dir "uv==${UV_VERSION}" | ||
| # pyogg is locked from a Git source, so uv needs git available while syncing. | ||
| RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/* | ||
| RUN apt-get update && apt-get install -y --no-install-recommends git gcc && rm -rf /var/lib/apt/lists/* |
There was a problem hiding this comment.
Install libc headers for the webrtcvad build
When the desktop-backend image is built from 3.11-slim-forky, --no-install-recommends installs gcc without libc6-dev, so compiling webrtcvad still fails on missing standard C headers during uv pip sync. The builder using the identical base in backend/modal/Dockerfile.memory_maintenance_job:6-10 explicitly uses build-essential because bare gcc is insufficient; use that package (or add the required headers) here and run the registered desktop-backend image smoke.
AGENTS.md reference: backend/AGENTS.md:L227-L229
Useful? React with 👍 / 👎.
7b6e343 to
f84a84f
Compare
… build Failure-Class: none webrtcvad==2.0.10 requires a C compiler to build _webrtcvad. The slim Python builder image has no gcc, causing uv pip sync to fail with: error: command gcc failed: No such file or directory
f84a84f to
a12afb9
Compare
…10818) ## Summary - Replace `gcc` with `build-essential` in `backend/Dockerfile.desktop_backend` - `build-essential` provides gcc **plus** libc headers (stdlib.h etc.) needed by webrtcvad C extension ## Context PR #10816 added `gcc` but auto-dev still failed: `fatal error: stdlib.h: No such file or directory`. The slim Python base image lacks C standard library headers. `build-essential` is the canonical Debian/Ubuntu metapackage that includes gcc, make, and all required libc dev headers. ## Verification - Diff only changes `gcc` → `build-essential` (superset) - CI auto-dev will exercise full Docker build on push-to-main Failure-Class: none <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/BasedHardware/omi/pull/10818?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. -->
Summary
gcctobackend/Dockerfile.desktop_backendapt-get install linewebrtcvad==2.0.10C extension build duringuv pip syncContext
Follow-up to #10686 (replace Rust cloud backend with Python) and #10807 (add git for pyogg VCS source).
The dev deployment has failed on every post-merge run since #10686 landed. The error:
webrtcvadcompiles a C extension (_webrtcvad) and needs a C compiler in the builder image. The slim Python base image ships no compiler toolchain.Verification
pylock.runtime.tomllockswebrtcvad==2.0.10which requires C compilationgccto the existing apt-get line (no other changes)Failure-Class: none