Skip to content

fix(desktop-backend): add gcc to Dockerfile for webrtcvad C extension build - #10816

Merged
Git-on-my-level merged 1 commit into
mainfrom
fix/desktop-backend-docker-gcc
Jul 29, 2026
Merged

fix(desktop-backend): add gcc to Dockerfile for webrtcvad C extension build#10816
Git-on-my-level merged 1 commit into
mainfrom
fix/desktop-backend-docker-gcc

Conversation

@Git-on-my-level

@Git-on-my-level Git-on-my-level commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add gcc to backend/Dockerfile.desktop_backend apt-get install line
  • Unblocks webrtcvad==2.0.10 C extension build during uv pip sync

Context

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:

webrtcvad==2.0.10 → gcc: No such file or directory
error: command 'gcc' failed: No such file or directory

webrtcvad compiles a C extension (_webrtcvad) and needs a C compiler in the builder image. The slim Python base image ships no compiler toolchain.

Verification

  • Confirmed pylock.runtime.toml locks webrtcvad==2.0.10 which requires C compilation
  • Diff adds only gcc to the existing apt-get line (no other changes)
  • CI auto-dev workflow will exercise the full Docker build on next push

Failure-Class: none

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 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/*

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge 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 👍 / 👎.

@Git-on-my-level
Git-on-my-level force-pushed the fix/desktop-backend-docker-gcc branch 2 times, most recently from 7b6e343 to f84a84f Compare July 29, 2026 03:23
… 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
@Git-on-my-level
Git-on-my-level force-pushed the fix/desktop-backend-docker-gcc branch from f84a84f to a12afb9 Compare July 29, 2026 03:28
@Git-on-my-level
Git-on-my-level merged commit 7cea0ea into main Jul 29, 2026
36 checks passed
@Git-on-my-level
Git-on-my-level deleted the fix/desktop-backend-docker-gcc branch July 29, 2026 03:32
Git-on-my-level added a commit that referenced this pull request Jul 29, 2026
…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. -->
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.

1 participant