From b1a3ec07869626091a6d0291a81d3864a2abfe92 Mon Sep 17 00:00:00 2001 From: camphillips22 Date: Thu, 9 Apr 2026 17:04:17 -0400 Subject: [PATCH 1/2] Downgrade CI Linux image to Ubuntu 22.04 for glibc compatibility Ubuntu 24.04 produces binaries requiring GLIBC 2.38 and GLIBCXX 3.4.32, which are not available in the Debian 12 runtime image (debian-base). Ubuntu 22.04 has GLIBC 2.35 and GLIBCXX 3.4.30, both compatible with the Debian 12 runtime. Co-Authored-By: Claude Opus 4.6 (1M context) --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ec20d008..8517573a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 executors: linux: machine: - image: ubuntu-2404:current + image: ubuntu-2204:current resource_class: xlarge macos: macos: From a6d5ce553f77aed997aebd4cb80846edd359f4ff Mon Sep 17 00:00:00 2001 From: camphillips22 Date: Thu, 9 Apr 2026 17:16:23 -0400 Subject: [PATCH 2/2] Statically link libstdc++ for runtime compatibility with Debian 12 Ubuntu 24.04 builds produce binaries requiring GLIBCXX_3.4.32, which is not available in the Debian 12 runtime image. Statically linking libstdc++ embeds it in the binary, removing the runtime dependency. Scoped to Linux only via build:linux config. Co-Authored-By: Claude Opus 4.6 (1M context) --- .bazelrc | 4 ++++ .circleci/config.yml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.bazelrc b/.bazelrc index 8adba88f..900e8eec 100644 --- a/.bazelrc +++ b/.bazelrc @@ -20,6 +20,10 @@ build --copt -Wno-deprecated-declarations build --copt -Wno-return-type build --copt -Wno-unused-but-set-parameter # Automatically apply build:macos on macOS, build:linux on Linux, etc. +# Statically link libstdc++ so binaries don't require a newer GLIBCXX +# than the runtime container (Debian 12) provides. +build:linux --linkopt=-static-libstdc++ + build --enable_platform_specific_config # Clang 17+ warns on ZetaSQL code; GCC doesn't recognize this flag. diff --git a/.circleci/config.yml b/.circleci/config.yml index 8517573a..ec20d008 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 executors: linux: machine: - image: ubuntu-2204:current + image: ubuntu-2404:current resource_class: xlarge macos: macos: