I tried to install Tidyverse on a Fedora 28 machine, but got the error message
"cc1: error: '-fcf-protection=full' requires Intel CET support. Use -mcet or both of -mibt and -mshstk options to enable CET"
Based on a search of the error message, I think you need to enable CET for your C++ library:
I don't run Fedora, but this looks relevant (see the last bullet from Detailed Description, below):
https://fedoraproject.org/wiki/Changes/HardeningFlags28
Detailed Description
- Compile all binaries with stack clash protection (
-fstack-clash-protection
). As a result, attempts to jump the stack guard (a requirement for stack clash attacks) will reliably result in a crash rather than giving the attacker control over stack/heap objects.- Enable C++ standard library hardening with
-D_GLIBCXX_ASSERTIONS
. This turns on cheap range checks for C++ arrays, vectors, and strings.- Enable control flow protection on x86-64 using
-fcf-protection=full -mcet
.
Upgrade/compatibility impact
- The C++ standard library hardening may detect some invalid out-of-bounds access which have gone unnoticed before.
1 Like
Thanks for the reply. I am not sure which C++ library needs to be enabled CET.
Linking to the issue opened in the dplyr repo:
I figured out the issue. It is related to Fedora 28. In all other versions of Fedora, I do not have this issue.
Good to hear. Could you please update the issue as well, if it has the same root of the problem?
Thanks
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.