Build is broken under newer glibc -- Fix attached
According to the link below, newer glibc versions replaced "MINSIGSTKSZ" with "_SC_MINSIGSTKSZ":
https://sourceware.org/git/?p=glibc.git;a=commit;h=6c57d320484988e87e446e2e60ce42816bf51d53
Add _SC_MINSIGSTKSZ for the minimum signal stack size derived from AT_MINSIGSTKSZ, which is the minimum number of bytes of free stack space required in order to gurantee successful, non-nested handling of a single signal whose handler is an empty function, and _SC_SIGSTKSZ which is the suggested minimum number of bytes of stack space required for a signal stack.
Please accept the following patch to catch.hpp (the def "MINSIGSTKSZ" has been replaced by "_SC_MINSIGSTKSZ" in newer glibc libraries. Here's my patch (which of course will break older systems). You might look and see if there's a newer Catch2 library which maintains compatibility across versions. I see the company in the copyright no longer has a functioning website...
hampc@Pluto:~/hamradio/qrsspig/src/Catch2/v2.9.1$ git diff catch.hpp diff --git a/src/Catch2/v2.9.1/catch.hpp b/src/Catch2/v2.9.1/catch.hpp index 303f664..12cc459 100644 --- a/src/Catch2/v2.9.1/catch.hpp +++ b/src/Catch2/v2.9.1/catch.hpp @@ -10373,7 +10373,7 @@ namespace Catch {
// 32kb for the alternate stack seems to be sufficient. However, this value
// is experimentally determined, so that's not guaranteed.
- constexpr static std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
-
constexpr static std::size_t sigStackSize = 32768 >= _SC_MINSIGSTKSZ ? 32768 : _SC_MINSIGSTKSZ;
static SignalDefs signalDefs[] = { { SIGINT, "SIGINT - Terminal interrupt signal" },