Closed trws closed 3 months ago
Oh and @garlick, assuming the stdlib can handle it, you may well be able to keep building on bullseye with clang-15 or clang-16, both of which are in the normal bullseye apt repos.
(edit: apparently they skipped clang-15, but 16 is in there 🤷 )
Bah, made some mistakes I'll fix after lunch.
TODO:
Well, this took a whole lot more surgery than I would have preferred, but I think it's all stable now. The check script updates should propagate over to core as well, but el9 arm can't build without them.
@Mergifyio refresh
refresh
Ok, mergify is just flat not cooperating, even after a manual refresh. I'm going to merge this, and hope it kicks the next one.
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 75.4%. Comparing base (
9bfdda3
) to head (b579e52
). Report is 103 commits behind head on master.
🚨 Try these New Features:
This is meant to solve a variety of build and CI issues we're facing, and also bring our requirements more up to date. We actually barely need any built boost components anymore, so I'm removing them. We may go the rest of the way, will consider it, but for now it's regex, system and filesystem that are all removed.
This also explicitly checks compiler versions, note that the default initial gcc and clang for jammy fell off the back but both gcc12 and clang15 are available in standard jammy apt repos, and in fact we had clang-15 pre-installed, so no change to OS requirements. Since cmake was already checking for minimal C++20 support, this actually checks for explicit versions of gcc and clang, with an escape hatch to build with whatever. The code currently builds, barely, with gcc11 and clang-14. The explicitly required versions are gcc12 and clang-15 are the versions where all the features we use are documented to actually work correctly.
fixes #1264
There's also a tiny fix in here for older clangs that don't support the c++20 removal of need for typename in some cases, and I'm adding a build using clang-15 so we catch things like this in the future.
@vsoch, I think you're making the spack package match these versions, but after this you should get a much more informative/clear message about requirements.