Skip to content

Commit bb121d4

Browse files
committed
fix(gpu): use the ubuntu24.04 CUDA base so bundled uWS can load
The CUDA runtime base was ubuntu22.04 (glibc 2.35). This image bundles uWebSockets.js, copied from the build stage, and its prebuilt Linux binaries link against GLIBC_2.38 — so the addon could not load on that base. It is the same failure documented at the top of ./Dockerfile, which is why the standard image runs on Debian trixie rather than bookworm (glibc 2.36). Switches the default to nvidia/cuda:13.3.0-cudnn-runtime-ubuntu24.04 (glibc 2.39) and updates the CUDA 12.x override example to the matching ubuntu24.04 tag. All four tag combinations were confirmed present on Docker Hub. Documents the glibc floor next to the ARG: the point of this ARG is that operators override it for older driver branches, and an override back to an ubuntu22.04 base would silently break uWS again. Latent until now — the build has failed outright since #496, so this base was never actually produced. Credit: flagged by gemini-code-assist on #628.
1 parent 10ed38b commit bb121d4

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

Dockerfile-gpu

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,18 @@ ARG NODE_VERSION=24
55
# architecture in the 13.x line (Maxwell/Pascal/Volta were dropped). The 13.x
66
# runtime requires an R580+ host driver; on hosts pinned to an older driver
77
# branch, override with a CUDA 12.x cudnn-runtime base, e.g.:
8-
# --build-arg CUDA_RUNTIME_IMAGE=nvidia/cuda:12.6.3-cudnn-runtime-ubuntu22.04
8+
# --build-arg CUDA_RUNTIME_IMAGE=nvidia/cuda:12.6.3-cudnn-runtime-ubuntu24.04
9+
#
10+
# Keep the ubuntu24.04 variant (glibc 2.39) whichever CUDA line you pick. This
11+
# image bundles uWebSockets.js (copied from the build stage below), whose
12+
# prebuilt Linux binaries link against GLIBC_2.38 — ubuntu22.04 ships glibc 2.35
13+
# and the addon fails to load there, the same failure that put the standard
14+
# image on Debian trixie. See the note at the top of ./Dockerfile.
915
#
1016
# Must stay above the first FROM: an ARG referenced by a FROM has to be declared
1117
# in the global scope, before any stage. Declared after a FROM it belongs to that
1218
# stage, and the later FROM expands it to an empty base name.
13-
ARG CUDA_RUNTIME_IMAGE=nvidia/cuda:13.3.0-cudnn-runtime-ubuntu22.04
19+
ARG CUDA_RUNTIME_IMAGE=nvidia/cuda:13.3.0-cudnn-runtime-ubuntu24.04
1420

1521
FROM docker.io/node:${NODE_BUILD_VERSION} AS build
1622

0 commit comments

Comments
 (0)