-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Description
PCMsolver cannot build with recent glibc version. The issue seems to be, that in glibc >= 2.34 SIGSTKSZ
is not constant anymore. This leads to type errors in the Catch
code:
In file included from /build/source/tests/unit_tests.cpp:25:
/build/source/external/Catch/catch.hpp:6470:41: error: array bound is not an integer constant before ']' token
6470 | static char altStackMem[SIGSTKSZ];
| ^
/build/source/external/Catch/catch.hpp: In constructor 'Catch::FatalConditionHandler::FatalConditionHandler()':
/build/source/external/Catch/catch.hpp:6489:30: error: 'altStackMem' was not declared in this scope
6489 | sigStack.ss_sp = altStackMem;
| ^~~~~~~~~~~
/build/source/external/Catch/catch.hpp: At global scope:
/build/source/external/Catch/catch.hpp:6521:53: error: array bound is not an integer constant before ']' token
6521 | char FatalConditionHandler::altStackMem[SIGSTKSZ] = {};
| ^
Expected Behavior
PCMSolver should compile with recent Glibc versions.
Current Behavior
Glibc >= 2.34 breaks PCMSolver
Possible Solution
Update the catch code to be compatible with recent Glibc? (I am no C++ dev myself)
Steps to Reproduce (for bugs)
nix build nixpkgs/f35d4e3c73eaecfa5d1eabdcfd14d8047b440a15#pcmsolver --print-build-logs
or build on probably any other linux with glibc >= 2.34
Context
I am maintaining pcmsolver in NixOS and nixpkgs. The glibc incompatibility of PCMSolver unfortunately also breaks Psi4 and Dalton in Nixpkgs/NixOS.
The glibc change apparently also bit other people, e.g.:
- Can't compile with glibc master (future 2.34): SIGSTKSZ is no longer a constant doctest/doctest#473
- https://sourceware.org/bugzilla/show_bug.cgi?id=28302
- https://www.mail-archive.com/[email protected]/msg40858.html
Your Environment
- Version used: 1.3.0
- Environment name and version: nixpkgs/master
- Operating System and version: linux (NixOS, but it really doesn't matter)
- Link to your project: https://github.com/NixOS/nixpkgs/blob/634141959076a8ab69ca2cca0f266852256d79ee/pkgs/development/libraries/pcmsolver/default.nix
Metadata
Metadata
Assignees
Labels
No labels