Hi Folks, I have a package that compiles fine under C++11 but it throws an "Error: C++17 standard requested but CXX17 is not defined" error when checking under Solaris.
My configure looks like: #!/bin/sh # Borrowed from https://github.com/eddelbuettel/rcppsimdjson/blob/master/configure : ${R_HOME=`R RHOME`} if test -z "${R_HOME}"; then echo Could not determine R_HOME. exit 1 fi CXX17=`${R_HOME}/bin/R CMD config --all | awk '{print $1}' | grep "^CXX17$"` if test "x${CXX17}" = "x"; then sed -e 's/@CXXSTD@/CXX11/' -e 's/@NOCXX17@/-DNO_CXX17/' src/Makevars.in > src/Makevars else sed -e 's/@CXXSTD@/CXX17/' -e 's/@NOCXX17@//' src/Makevars.in > src/Makevars fi exit 0 If I change the grep match to something nonsensical (forcing c++11), then the package builds and checks just fine on my machine. So it seems that there is some checking code that searches for c++17 statements in the package and throws an error. If that is the case, then those checks should be removed as they cannot account for conditional compilation. For example, in my vignettes, I have c++17 code but those chunks are not evaluated if c++17 is not available. Is the checking code available for inspection? I'd like to find exactly where the error is coming from. THK [[alternative HTML version deleted]] ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel