В Tue, 6 Feb 2024 18:27:32 +0100 Vincent van Hees <vincentvanh...@gmail.com> пишет:
> For details see: > https://github.com/RfastOfficial/Rfast/issues/99 GitHub processed your plain text description of the problem as if it was Markdown and among other things ate the text that used to be there between angle brackets: > #include > ^~~~~~~~~~~ By digging through the raw source code of the issue at https://api.github.com/repos/RfastOfficial/Rfast/issues/99 it is possible to find out which header was missing for Rfast: > ../inst/include/Rfast/parallel.h:20:10:fatal error: tion: No such > file or directory > #include <execution> > ^~~~~~~~~~~ > compilation terminated. Indeed, <execution> is a C++17 header [1]. While g++ version 7.5.0-3ubuntu1~18.04 seems to accept --std=c++17 without complaint, its libstdc++-7-dev package is missing this header. Moreover, there's still no <execution> in libstdc++-8-dev. I think that you need libstdc++-9 for that to work, which is not in Bionic; older versions aren't C++17-compliant enough to compile Rfast, and C++17 is listed in the SystemRequirements of the package. Installing clang-10 and editing Makeconf to use clang++-10 instead of g++ seems to let the compilation proceed. In order to successfully link the resulting shared object, I also had to edit Makeconf to specify -L/usr/lib/gcc/x86_64-linux-gnu/7 when linking -lgfortran. If you plan to use this in production, be very careful. I don't know about binary compatibility guarantees between g++-7 and clang++-10, so you might have to recompile every C++-using R package from source with clang++-10 in order to avoid hard-to-debug problems when using them together. (It might also work fine. That's the worst thing about such problems.) -- Best regards, Ivan [1] https://en.cppreference.com/w/cpp/header/execution ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel