Skip to content

fix(ci): build the CUDA 13 image on Ubuntu 24.04 - #11143

Merged
mudler merged 2 commits into
masterfrom
fix/cuda13-image-ubuntu-2404
Jul 27, 2026
Merged

fix(ci): build the CUDA 13 image on Ubuntu 24.04#11143
mudler merged 2 commits into
masterfrom
fix/cuda13-image-ubuntu-2404

Conversation

@localai-bot

@localai-bot localai-bot commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

What

The amd64 -gpu-nvidia-cuda-13 image is the only runtime image still built FROM ubuntu:22.04. This moves it to ubuntu:24.04, matching every other image and every backend.

Fixes #11059

Why

The Ubuntu 24.04 migration (#7769) bumped that matrix entry's ubuntu-version to 2404 and added ubuntu-codename: noble, but the base-image line fell outside the diff hunk and stayed on jammy. The result is an image running glibc 2.35 that installs CUDA 13 from the noble apt repository, and that then unpacks backends built on noble (vllm cuda13 uses base-image: "ubuntu:24.04", .github/backend-matrix.yml:1204).

Backends consequently cannot dlopen the libraries they bundle. From the report:

OSError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found
  (required by /backends/cuda13-vllm/lib/libnuma.so.1)

The torchcodec failures higher in that log are the same root cause seen from the other side: jammy ships ffmpeg 4.x (libavutil.so.56) while torchcodec probes .so.57 through .so.60. Noble's ffmpeg 6.1 provides .so.58, so libtorchcodec_core6.so loads.

Changes

Two lines, ubuntu:22.04 -> ubuntu:24.04 for the cuda-13 amd64 entry in .github/workflows/image.yml and .github/workflows/image-pr.yml.

Not changed

base-grpc-cuda-13-amd64 in base-images.yml stays on jammy. It is a builder base only: the backends it compiles have ubuntu:24.04 final stages, and a lower glibc floor in a builder is forward-compatible. Moving it would force cold rebuilds of the cuda-13 llama-cpp (5h+) and turboquant (6h) backends for no user-visible gain.

Testing

CI built the cuda-13 amd64 image on ubuntu:24.04 successfully on this branch (image-build (cublas, 13, 0, linux/amd64, ..., ubuntu:24.04, ...)), which is the end-to-end check that matters here.

The amd64 `-gpu-nvidia-cuda-13` image is the only runtime image still
built FROM ubuntu:22.04. The Ubuntu 24.04 migration (#7769) bumped its
`ubuntu-version` to 2404 but left `base-image` on jammy, so the image
ships glibc 2.35 while adding the noble CUDA apt repository, and every
backend it unpacks is built on noble.

Backends therefore cannot dlopen the libraries they bundle. The vLLM
backend dies at import time with:

  OSError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not
  found (required by /backends/cuda13-vllm/lib/libnuma.so.1)

and torchcodec finds no usable libavutil because jammy ships ffmpeg 4.x
(libavutil.so.56) while torchcodec looks for .so.57 through .so.60.

Add a spec over the build matrices that fails when a base image and the
`ubuntu-version`/`ubuntu-codename` it is paired with disagree, or when
the runtime images are split across Ubuntu releases. Entries whose base
image does not name a release (JetPack) are left alone.

The `base-grpc-cuda-13-amd64` builder base stays on jammy: it only
compiles backends, and a lower glibc floor in a builder is safe.

Fixes #11059

Assisted-by: Claude:claude-opus-5 golangci-lint
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
@@ -0,0 +1,13 @@
package buildmatrix_test

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

lets not commit this, remove it

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Removed in 206ab8d — the whole pkg/buildmatrix package is gone, so the PR is now just the two ubuntu:22.04 -> ubuntu:24.04 lines. Squash-merging leaves master with only that diff.

Per review, the CI matrix guard does not belong in the tree. Only the
base image bump remains.

Assisted-by: Claude:claude-opus-5 [Claude Code]
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
@mudler
mudler merged commit 856b0ea into master Jul 27, 2026
68 checks passed
@mudler
mudler deleted the fix/cuda13-image-ubuntu-2404 branch July 27, 2026 16:49
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.

vLLM backend not usable on amd64/CUDA 13

2 participants