Skip to content

Add legacy glibc-compatible Linux build path#30

Merged
tctco merged 6 commits into
devfrom
codex/add-support-for-glibc-2.34-in-fedora-7.2
Jun 12, 2026
Merged

Add legacy glibc-compatible Linux build path#30
tctco merged 6 commits into
devfrom
codex/add-support-for-glibc-2.34-in-fedora-7.2

Conversation

@tctco

@tctco tctco commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Provide a reproducible Linux build path that targets older glibc baselines so produced binaries run on older images that may lack glibc 2.34.
  • Avoid accidentally shipping Linux packages that reference symbol versions newer than GLIBC_2.17 by building on a CentOS7/manylinux2014 toolchain.
  • Keep legacy dependency/build caches separate from the default Ubuntu development container to prevent cross-contamination of binaries and Conan packages.

Description

  • Add docker/Dockerfile.core.legacy based on quay.io/pypa/manylinux2014_x86_64 and devtoolset-10 to target a glibc 2.17 compatibility baseline and install required build tooling and Python packages.
  • Add a dccc-core-legacy service in docker-compose.core.yml with separate Conan/CMake volumes and CONAN_CPPSTD=gnu17 to run legacy builds without mixing caches with the default container.
  • Modify .github/workflows/cross-compile.yml to build and run the legacy Docker image for Linux jobs and add a post-build GLIBC symbol-version verification step that fails the job if any packaged ELF references symbols newer than GLIBC_2.17.
  • Update localizer/src/README.md to document how to build using the legacy container and explain the compatibility intent and separate volumes.

Testing

  • Ran bash -n scripts/docker-build-core.sh to validate the build script syntax and it succeeded.
  • Parsed and validated YAML files with ruby -e 'require "yaml"; YAML.load_file(".github/workflows/cross-compile.yml"); YAML.load_file("docker-compose.core.yml")' and it succeeded.
  • Verified the legacy Dockerfile contains expected markers with a small python3 check for manylinux2014_x86_64, devtoolset-10, and CONAN_HOME and it succeeded.
  • Attempting to run the Docker/compose build could not be executed locally because docker is not installed in the current environment, so full image builds and end-to-end CI validation will run in CI where Docker is available.

Codex Task

@tctco tctco merged commit 1b9095b into dev Jun 12, 2026
3 checks passed
@tctco tctco deleted the codex/add-support-for-glibc-2.34-in-fedora-7.2 branch June 12, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant