Open PeterBowman opened 1 year ago
This issue has also hit other projects: https://github.com/boostorg/config/issues/345. A common suggestion is to rename or place the version file elsewhere.
GCC11's default is gnu++17 right? why 20 is used?
for now can you try -DCMAKE_CXX_STANDARD=17
?
I checked build/src/CMakeFiles/boost_assertion_failed.dir/flags.make
and verified I'm actually building this target with the -std=gnu++14
C++ compiler flag. This is enforced by OpenRAVE itself. I also checked the outcome of using either C++17 or C++20 and got the same error anyway.
I'm baffled about the fact that a nearly equivalent build succeeds on GHA runners: logs.
To reproduce, clone latest OpenRAVE master (currently at https://github.com/rdiankov/openrave/commit/e0badbcfe664a7b7e55877019f3cc8aa9b2621b9) and configure with:
Result:
Here, Boost is trying to find a
<version>
header (introduced in C++20), then fall back to<cstddef>
if missing (see select_stdlib_config.hpp or the below code excerpt). It appears to pick the plain-text file 3rdparty/crlibm-1.0beta4/VERSION (which contains the offending "1.0beta4" string) instead of any other system-installed header.Environment:
CMake configuration output.
As a temporary workaround, I renamed VERSION to VERSION.txt.