Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not compile with glibc 2.34 #47

Closed
chubin opened this issue Nov 15, 2021 · 1 comment
Closed

Does not compile with glibc 2.34 #47

chubin opened this issue Nov 15, 2021 · 1 comment
Assignees
Labels

Comments

@chubin
Copy link

chubin commented Nov 15, 2021

I am trying to compile stduuid with Glibc 2.34 but it does not seem to work:

In file included from /opt/runtime-8.0-dev0/include/signal.h:328,
                 from /home/ubuntu/runtime-8e5e829d-64r/.build/ports/_build/stduuid-5890c94bfac2f00f22a1c1481e5839c51d6a6f3f/catch/catch.hpp:8034,
                 from /home/ubuntu/runtime-8e5e829d-64r/.build/ports/_build/stduuid-5890c94bfac2f00f22a1c1481e5839c51d6a6f3f/test/main.cpp:2:
/home/ubuntu/runtime-8e5e829d-64r/.build/ports/_build/stduuid-5890c94bfac2f00f22a1c1481e5839c51d6a6f3f/catch/catch.hpp:10822:58: error: call to non-'constexpr' function 'long int sysconf(int)'
10822 |     static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
      |                                                          ^~~~~~~~~~~
In file included from /opt/runtime-8.0-dev0/include/c++/11.2.0/bits/atomic_wait.h:44,
                 from /opt/runtime-8.0-dev0/include/c++/11.2.0/bits/atomic_base.h:41,
                 from /opt/runtime-8.0-dev0/include/c++/11.2.0/bits/shared_ptr_atomic.h:33,
                 from /opt/runtime-8.0-dev0/include/c++/11.2.0/memory:78,
                 from /home/ubuntu/runtime-8e5e829d-64r/.build/ports/_build/stduuid-5890c94bfac2f00f22a1c1481e5839c51d6a6f3f/catch/catch.hpp:2943,
                 from /home/ubuntu/runtime-8e5e829d-64r/.build/ports/_build/stduuid-5890c94bfac2f00f22a1c1481e5839c51d6a6f3f/test/main.cpp:2:
/opt/exasol/runtime-8.0-dev0/include/unistd.h:641:17: note: 'long int sysconf(int)' declared here
  641 | extern long int sysconf (int __name) __THROW;
      |                 ^~~~~~~
In file included from /home/ubuntu/runtime-8e5e829d-64r/.build/ports/_build/stduuid-5890c94bfac2f00f22a1c1481e5839c51d6a6f3f/test/main.cpp:2:
/home/ubuntu/runtime-8e5e829d-64r/.build/ports/_build/stduuid-5890c94bfac2f00f22a1c1481e5839c51d6a6f3f/catch/catch.hpp:10881:45: error: size of array 'altStackMem' is not an integral constant-expression
10881 |     char FatalConditionHandler::altStackMem[sigStackSize] = {};
      |                                             ^~~~~~~~~~~~

The problem is that in glibc 2.34, MINSIGSTKSZ is no longer a constant

@chubin chubin changed the title Does not compile with gcc 11.2.0 Does not compile with glibc 2.34 Nov 16, 2021
@mariusbancila mariusbancila self-assigned this Dec 22, 2021
@mariusbancila
Copy link
Owner

This was a problem due to Catch2 using MINSIGSTKSZ. See: catchorg/Catch2#2178.

I have updated the Catch2 version. The problem should be fixed now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants