You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Solution to issue cannot be found in the documentation.
I checked the documentation.
Issue
Hello,
I've run into several issues compiling applications using Rcpp that ultimately are caused by conda's default Centos 6 sysroot not being c++11 compatible. Centos6 is out of support at this point, and many applications have stopped supporting it and no longer will correctly build or run inside of it. In short, the Rcpp conda package needs to use the Centos 7 sysroot (or newer) to build modern applications. This can be pretty easily done according to conda-forge docs here, which will save anyone working on top of the Rcpp conda package a lot of headache.
A specific example is SAIGE, which we worked around a problem caused by a <inttypes.h> header that is not c++11 compatible by setting a compiler flag: saigegit/SAIGE#17. So that readers don't have to click through, the root of that problem is that c++11 changed the specification for <inttypes.h> and made the macros in it unconditionally applied, while c++98 and C99 had those macros defined only if another macro was already defined. This results in a lot of applications that require c++11 or newer failing to build due to undefined macros.
This means that the only place to fix this issue is here, by having rcpp (and potentially r-base) depend on the sysroot_linux-64 2.17 system root in conda-forge, which would move to a newer glibc / c++ implementation and finally be c++11 compatible.
I'm going to take a shot at doing this myself, but I don't have a local conda-forge development environment set up so I'm not going to be able to quickly or easily test it.
I'm attaching my installed packages and env info as the template asks, but this is a general problem and not specific to my single environment.
pettyalex
changed the title
Rpp needs to update to Centos 7 Sysroot to get to C++11 and fix many problems
Rpp needs to update to Centos 7 Sysroot for C++11 compatability, which will fix many problems
Aug 23, 2022
For some more context on this issue, here's an issue were some conda-forge/core developers discuss the pros / cons of Centos 7, and unfortunately decide to keep the default Centos 6: conda-forge/conda-forge.github.io#1436
Solution to issue cannot be found in the documentation.
Issue
Hello,
I've run into several issues compiling applications using Rcpp that ultimately are caused by conda's default Centos 6
sysroot
not being c++11 compatible. Centos6 is out of support at this point, and many applications have stopped supporting it and no longer will correctly build or run inside of it. In short, the Rcpp conda package needs to use the Centos 7 sysroot (or newer) to build modern applications. This can be pretty easily done according to conda-forge docs here, which will save anyone working on top of the Rcpp conda package a lot of headache.A specific example is SAIGE, which we worked around a problem caused by a
<inttypes.h>
header that is not c++11 compatible by setting a compiler flag: saigegit/SAIGE#17. So that readers don't have to click through, the root of that problem is that c++11 changed the specification for<inttypes.h>
and made the macros in it unconditionally applied, while c++98 and C99 had those macros defined only if another macro was already defined. This results in a lot of applications that require c++11 or newer failing to build due to undefined macros.I typically try to fix issues as upstream as possible, and there was a way to fix this inside of Rcpp itself, however the Rcpp maintiners rejected this, and responded firmly that conda / r-cpp are not a supported R or CRAN environment.
This means that the only place to fix this issue is here, by having rcpp (and potentially r-base) depend on the
sysroot_linux-64 2.17
system root in conda-forge, which would move to a newer glibc / c++ implementation and finally be c++11 compatible.I'm going to take a shot at doing this myself, but I don't have a local conda-forge development environment set up so I'm not going to be able to quickly or easily test it.
I'm attaching my installed packages and env info as the template asks, but this is a general problem and not specific to my single environment.
Installed packages
Environment info
The text was updated successfully, but these errors were encountered: