fix(build): fix task core on Ubuntu 26.04 - #2453
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
WalkthroughThe build configuration disables ANTLR C++ tests and upgrades yaml-cpp to v0.9.0. The yaml-cpp build also sets a minimum CMake policy version and updates its checksum and source URL. Developer documentation records the new yaml-cpp version. ChangesDependency maintenance
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4 in install-cmake.sh, which has since become actively harmful: the script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. All three blockers are fixed here and the pin is retired, closing y-scope#795, which was reported in April 2025 against macOS with Homebrew. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date, which had drifted well behind upstream. None of these required changes to CLP's own source. Supersedes and credits y-scope#2453, which surfaced these failures on Ubuntu 26.04 — the first environment to hit both toolchain shifts at once. Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. All three blockers are fixed here and the pin is retired, closing y-scope#795, which was reported in April 2025 against macOS with Homebrew. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. With the ceiling gone, the three places that uninstalled a working CMake so the pin could reinstall an older one are removed, and centos-stream-9 now uses dnf's CMake. Only ubuntu-jammy still needs the pipx install, since its apt CMake (3.22.1) is below the v3.23 floor that ystdlib requires. `install-cmake.sh` is renamed to `ensure-cmake.sh` to match its now-primary role of validating the available CMake rather than installing one. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date, which had drifted well behind upstream. None of these required changes to CLP's own source. Supersedes and credits y-scope#2453, which surfaced these failures on Ubuntu 26.04 — the first environment to hit both toolchain shifts at once. Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. All three blockers are fixed here and the pin is retired, closing y-scope#795, which was reported in April 2025 against macOS with Homebrew. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. With the ceiling gone, the three places that uninstalled a working CMake so the pin could reinstall an older one are removed, and centos-stream-9 now uses dnf's CMake. Only ubuntu-jammy still needs the pipx install, since its apt CMake (3.22.1) is below the v3.23 floor that ystdlib requires. `install-cmake.sh` is renamed to `ensure-cmake.sh` to match its now-primary role of validating the available CMake rather than installing one. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date, which had drifted well behind upstream. None of these required changes to CLP's own source. Supersedes and credits y-scope#2453, which surfaced these failures on Ubuntu 26.04 — the first environment to hit both toolchain shifts at once. Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. All three blockers are fixed here and the pin is retired, closing y-scope#795, which was reported in April 2025 against macOS with Homebrew. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. With the ceiling gone, the three places that uninstalled a working CMake so the pin could reinstall an older one are removed, and centos-stream-9 now uses dnf's CMake. Only ubuntu-jammy still needs the pipx install, since its apt CMake (3.22.1) is below the v3.23 floor that ystdlib requires. `install-cmake.sh` is renamed to `ensure-cmake.sh` to match its now-primary role of validating the available CMake rather than installing one. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date, which had drifted well behind upstream. None of these required changes to CLP's own source. Supersedes and credits y-scope#2453, which surfaced these failures on Ubuntu 26.04 — the first environment to hit both toolchain shifts at once. Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. All three blockers are fixed here and the pin is retired, closing y-scope#795, which was reported in April 2025 against macOS with Homebrew. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. With the ceiling gone, the three places that uninstalled a working CMake so the pin could reinstall an older one are removed, and centos-stream-9 now uses dnf's CMake. Only ubuntu-jammy still needs the pipx install, since its apt CMake (3.22.1) is below the v3.23 floor that ystdlib requires. `install-cmake.sh` is renamed to `ensure-cmake.sh` to match its now-primary role of validating the available CMake rather than installing one. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date, which had drifted well behind upstream. None of these required changes to CLP's own source. Supersedes and credits y-scope#2453, which surfaced these failures on Ubuntu 26.04 — the first environment to hit both toolchain shifts at once. Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. All three blockers are fixed here and the pin is retired, closing y-scope#795, which was reported in April 2025 against macOS with Homebrew. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. With the ceiling gone, the three places that uninstalled a working CMake so the pin could reinstall an older one are removed, and centos-stream-9 now uses dnf's CMake. Only ubuntu-jammy still needs the pipx install, since its apt CMake (3.22.1) is below the v3.23 floor that ystdlib requires. `install-cmake.sh` is renamed to `ensure-cmake.sh` to match its now-primary role of validating the available CMake rather than installing one. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date, which had drifted well behind upstream. None of these required changes to CLP's own source. Supersedes and credits y-scope#2453, which surfaced these failures on Ubuntu 26.04 — the first environment to hit both toolchain shifts at once. Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. All three blockers are fixed here and the pin is retired, closing y-scope#795, which was reported in April 2025 against macOS with Homebrew. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. With the ceiling gone, the three places that uninstalled a working CMake so the pin could reinstall an older one are removed, and centos-stream-9 now uses dnf's CMake. Only ubuntu-jammy still needs the pipx install, since its apt CMake (3.22.1) is below the v3.23 floor that ystdlib requires. `install-cmake.sh` is renamed to `ensure-cmake.sh` to match its now-primary role of validating the available CMake rather than installing one. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date, which had drifted well behind upstream. None of these required changes to CLP's own source. Supersedes and credits y-scope#2453, which surfaced these failures on Ubuntu 26.04 — the first environment to hit both toolchain shifts at once. Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. All three blockers are fixed here and the pin is retired, closing y-scope#795, which was reported in April 2025 against macOS with Homebrew. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. With the ceiling gone, the three places that uninstalled a working CMake so the pin could reinstall an older one are removed, and centos-stream-9 now uses dnf's CMake. Only ubuntu-jammy still needs the pipx install, since its apt CMake (3.22.1) is below the v3.23 floor that ystdlib requires. `install-cmake.sh` is renamed to `ensure-cmake.sh` to match its now-primary role of validating the available CMake rather than installing one. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date, which had drifted well behind upstream. None of these required changes to CLP's own source. Supersedes and credits y-scope#2453, which surfaced these failures on Ubuntu 26.04 — the first environment to hit both toolchain shifts at once. Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. The version check now accepts v4+, while the pipx install keeps its `<4` bound so no environment changes which CMake it builds with. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), mongo-cxx-driver (r4.1.1 -> r4.4.1, the only release carrying an upstream mongo-c-driver fix that CMake v4.4 requires), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date. libarchive is now built from source on centos-stream-9 too, so all four distro scripts agree on one version. None of these required changes to CLP's own source. Supersedes y-scope#794, which first diagnosed the CMake v4 problem, and y-scope#2453, which surfaced it again on Ubuntu 26.04. Co-authored-by: Bingran Hu <bingran.hu@yscope.com> Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. The version check now accepts v4+, while the pipx install keeps its `<4` bound so no environment changes which CMake it builds with. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), mongo-cxx-driver (r4.1.1 -> r4.4.1, the only release carrying an upstream mongo-c-driver fix that CMake v4.4 requires), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date. libarchive is now built from source on centos-stream-9 too, so all four distro scripts agree on one version. None of these required changes to CLP's own source. Supersedes y-scope#794, which first diagnosed the CMake v4 problem, and y-scope#2453, which surfaced it again on Ubuntu 26.04. Co-authored-by: Bingran Hu <bingran.hu@yscope.com> Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. The version check now accepts v4+, while the pipx install keeps its `<4` bound so no environment changes which CMake it builds with. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), mongo-cxx-driver (r4.1.1 -> r4.4.1, the only release carrying an upstream mongo-c-driver fix that CMake v4.4 requires), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date. libarchive is now built from source on centos-stream-9 too, so all four distro scripts agree on one version. None of these required changes to CLP's own source. Supersedes y-scope#794, which first diagnosed the CMake v4 problem, and y-scope#2453, which surfaced it again on Ubuntu 26.04. Co-authored-by: Bingran Hu <bingran.hu@yscope.com> Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…dependencies (fixes y-scope#795). CMake v4 removed compatibility with `cmake_minimum_required` below v3.5, breaking yaml-cpp, libarchive, and the googletest that ANTLR's test build fetches. CLP previously capped this by pinning CMake below v4, which has since become actively harmful: the install script fails outright wherever CMake v4+ is the system package, since it only installs the pinned version when no `cmake` is already present. The version check now accepts v4+, while the pipx install keeps its `<4` bound so no environment changes which CMake it builds with. Separately, libstdc++ 15 stopped transitively including <cstdint>, so yaml-cpp 0.7.0 fails to compile under GCC 15. The yaml-cpp upgrade addresses both that and its CMake v4 incompatibility. Also upgrades libarchive (3.5.1/3.8.0 -> 3.8.9), mongo-cxx-driver (r4.1.1 -> r4.4.1, the only release carrying an upstream mongo-c-driver fix that CMake v4.4 requires), SQLite3 (3.36.0 -> 3.53.4), Catch2, Microsoft.GSL, nlohmann_json, simdjson, utfcpp, zlib, and date. libarchive is now built from source on centos-stream-9 too, so all four distro scripts agree on one version. None of these required changes to CLP's own source. Supersedes y-scope#794, which first diagnosed the CMake v4 problem, and y-scope#2453, which surfaced it again on Ubuntu 26.04. Co-authored-by: Bingran Hu <bingran.hu@yscope.com> Co-authored-by: Artem Zuikov <chertus@gmail.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Thanks @4ertus2 — good timing on this. CMake v4 support has been open since #795 (April 2025), but it sat below our priority line and, more to the point, the upstream pieces weren't there yet: the first attempt (#794) had to point yaml-cpp at an unreleased commit, and the fixes we depend on for mongo-cxx-driver and mariadb-connector-cpp were only released this July — r4.4.1 about two weeks ago. Now that they exist the whole thing is doable, and #2454 is that effort — a superset of this PR. Your two fixes are carried into it: the yaml-cpp v0.9.0 upgrade (same tarball and checksum) and The extra scope is the remaining v4 blockers: libarchive 3.5.1, the mongo-c-driver bundled inside mongo-cxx-driver (which only fails from v4.4), and mariadb-connector-cpp on the Spider path — plus removing the |
Description
Fix build errorors related to cmake version < 3.5 suppport and more strict g++ headers includes.
yaml-cpp-0.7.0 has cpp errors for
uint16_tanduint32_tundefined.Checklist
breaking change.
Validation performed
Summary by CodeRabbit
Documentation
Chores