fix: use python:3.11-slim-trixie for GLIBC 2.38 compat with patched FFI

rust:latest produces FFI needing CXXABI_1.3.15 (GCC 14 libstdc++).
GCC 14 libstdc++ needs GLIBC 2.38. Bookworm only has 2.36.
Trixie has GLIBC 2.38+ — fixes the CXXABI_1.3.15 runtime error.
Also reverts to rust:latest since bookworm GCC 12 cant compile webrtc C++20.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-02-20 18:13:50 +02:00
parent 6d99eb172e
commit a6b1f46116

View File

@@ -1,7 +1,8 @@
# Stage 1: Build patched Rust FFI with HKDF support for Element Call E2EE # Stage 1: Build patched Rust FFI with HKDF support for Element Call E2EE
# Fork: onestacked/livekit-rust-sdks branch EC-compat-changes # Fork: onestacked/livekit-rust-sdks branch EC-compat-changes
# PR: https://github.com/livekit/rust-sdks/pull/904 # PR: https://github.com/livekit/rust-sdks/pull/904
FROM rust:bookworm AS rust-build # Must use rust:latest (trixie/sid) — bookworm GCC 12 can't compile webrtc C++20 code
FROM rust:latest AS rust-build
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
git cmake g++ libssl-dev pkg-config protobuf-compiler \ git cmake g++ libssl-dev pkg-config protobuf-compiler \
libva-dev libglib2.0-dev nasm make clang \ libva-dev libglib2.0-dev nasm make clang \
@@ -40,7 +41,9 @@ RUN mkdir -p /gen && \
done done
# Stage 3: Final image # Stage 3: Final image
FROM python:3.11-slim-bookworm # Must use trixie (GLIBC 2.38+) — patched FFI from rust:latest needs CXXABI_1.3.15
# which requires libstdc++6 from GCC 14, which in turn needs GLIBC 2.38
FROM python:3.11-slim-trixie
WORKDIR /app WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg libolm-dev \ ffmpeg libolm-dev \