Cannot install Tidyverse on Fedora 28

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.