Repository navigation
Conversation
…age_id on CentOS 9 Make glibc version part of the Conan package_id on CentOS 9 The gcc 14 binaries on nrel-v2 are built on ubuntu-24.04 (glibc 2.39), and get downloaded on AlmaLinux 9 (glibc 2.34) since the package_id matches, which fails to link (undefined reference to `__isoc23_sscanf`). Add a shared Conan config in developer/conan/config with an optional `os.libc` / `os.libc.version` sub-setting and a glibc profile that sets it from the detected glibc. CentOS 9 CI installs it and passes `-pr:a glibc`, so it gets distinct package IDs and builds from source or pulls the glibc 2.34 binaries from nrel-v2. Other platforms are unaffected. Also refresh binary_incompatility_glibc.md for Conan 2. - Fixes #5652 reliably - Fixes NatLabRockies/openstudio-cmake-tools#6
jmarrec
force-pushed
the
centos-conan-GLIBC-ABI
branch
from
October 13, 2026 12:56
1c2acb6 to
75c5f64
Compare
Collaborator
Author
|
Heyyoooooo Green build! |
There was a problem hiding this comment.
🟢 Approval recommended
The only retained issue is a non-blocking quoting error in a documentation command.
1 open finding
What changed in this PR
Separates CentOS 9 Conan binaries by glibc version to prevent incompatible dependencies from being downloaded.
Changes:
- Adds shared Conan settings and a glibc profile, enabled for CentOS 9 CI.
- Updates dependency compatibility documentation.
- Adds GCC compatibility adjustments and missing C++ headers.
| File | Description |
|---|---|
| src/scriptengine/ScriptEngine.hpp | Adds standard library headers. |
| src/epjson/epJSONTranslator.cpp | Adds warning annotations and preserves extensible-field lifetimes. |
| python/engine/PythonEngine.cpp | Adds the algorithm header. |
| developer/conan/config/settings_user.yml | Defines optional Linux libc settings. |
| developer/conan/config/README.md | Documents configuration and usage. |
| developer/conan/config/profiles/glibc | Detects libc and sets CMake compatibility policy. |
| developer/conan/config/global.conf | Configures downloads, caching, and non-interactive operation. |
| developer/conan/config/.conanignore | Excludes unrelated configuration files. |
| developer/conan/binary_incompatility_glibc.md | Refreshes Conan compatibility guidance. |
| CMakeLists.txt | Suppresses specified GCC warnings. |
| .github/workflows/full-build.yml | Enables the glibc profile for CentOS 9. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Updated the conan upload command to fix syntax. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Collaborator
|
CI Results for 5b56b51:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Pull request overview
Customizing conan settings: Make glibc version part of the Conan package_id on CentOS 9
Make glibc version part of the Conan package_id on CentOS 9
The gcc 14 binaries on nrel-v2 are built on ubuntu-24.04 (glibc 2.39), and get downloaded on AlmaLinux 9 (glibc 2.34) since the package_id matches, which fails to link (undefined reference to
__isoc23_sscanf).Add a shared Conan config in developer/conan/config with an optional
os.libc/os.libc.versionsub-setting and a glibc profile that sets it from the detected glibc. CentOS 9 CI installs it and passes-pr:a glibc, so it gets distinct package IDs and builds from source or pulls the glibc 2.34 binaries from nrel-v2. Other platforms are unaffected.Also refresh binary_incompatility_glibc.md for Conan 2.
I have built the packages using that setting on a docker almalinux9 container with gcc 14, and uploaded them to nrel-v2 (taking 160 MB only)
Pull Request Author
src/model/test)src/energyplus/Test)src/osversion/VersionTranslator.cpp)Labels:
IDDChangeAPIChangePull Request - Ready for CIso that CI builds your PRReview Checklist
This will not be exhaustively relevant to every PR.