It was a good suggestion. I went back to installing R 4.0 as you suggested. In Rstudio, which I think
uses whatever R happens to be currently installed, I get into a similar rcpp issue whenever I say “y” to compiling packages from source. There seems to be consistent disconnect of R finding certain files when compilation with clang is required. ………… clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/usr/local/include -fPIC -Wall -g -O2 -c capture.c -o capture.o In file included from capture.c:1: In file included from /Library/Frameworks/R.framework/Resources/include/Rinternals.h:44: In file included from /Library/Frameworks/R.framework/Resources/include/R_ext/Arith.h:41: In file included from /usr/local/include/math.h:8: In file included from /usr/local/include/features.h:10: /usr/local/include/forwards.h:10:10: fatal error: 'config.h' file not found #include "config.h" ^~~~~~~~~~ 1 error generated. make: *** [capture.o] Error 1 ERROR: compilation failed for package ‘rlang’ …………………. From: Carl Ganz <carlg...@gmail.com> Date: Sunday, May 3, 2020 at 12:04 PM To: Paul Fishwick <metaph...@gmail.com> Cc: <rcpp-devel@lists.r-forge.r-project.org> Subject: Re: [Rcpp-devel] Cannot run rcpp due to missing include file(s) This is probably beyond my understanding at this point, but the solution I offered worked for me with R 4.0 and it looks like this example is R 3.6 I vaguely remember some issues with interaction between older R version and newer Xcode 11.4.1 so moving to R 4 might help On Sun, May 3, 2020 at 9:25 AM Paul Fishwick <metaph...@gmail.com> wrote: Carl First, thank you for this quick tip! I had no ~/.R directory and Makevars didn’t exist when I searched for it in Finder. So, I made the directdory ~/.R and then added a new file “Makevars” to that directory. I edited this file to add your PKG_CPPFLAGS: (base) <hostname>-5:.R paul$ more Makevars PKG_CPPFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include Now I get another sequence of compiler errors. I’ll include only the first several lines: ………. In file included from fileb6e52d3a23c3.cpp:1: In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp.h:27: In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/RcppCommon.h:29: In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp/r/headers.h:67: In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp/platform/compiler.h:100: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:317:9: error: no member named 'signbit' in the global namespace using ::signbit; ~~^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:318:9: error: no member named 'fpclassify' in the global namespace using ::fpclassify; ~~^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:319:9: error: no member named 'isfinite' in the global namespace; did you mean 'finite'? using ::isfinite; ~~^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/math.h:749:12: note: 'finite' declared here extern int finite(double) ^ From: Carl Ganz <carlg...@gmail.com> Date: Sunday, May 3, 2020 at 11:02 AM To: Paul Fishwick <metaph...@gmail.com> Cc: <rcpp-devel@lists.r-forge.r-project.org> Subject: Re: [Rcpp-devel] Cannot run rcpp due to missing include file(s) I experienced similar issues on Mac and was able to fix by adding PKG_CPPFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include to my .R/Makevars My understanding is that Mac no longer uses the /usr/local/include so you need to point it to the usr/include in the Developer SDK folder On Sun, May 3, 2020 at 8:59 AM Paul Fishwick <metaph...@gmail.com> wrote: System: Mac OSX 11 (Catalina), Rstudio with R version 3.6.3 (but have also tried 4.0 and 3.3), Xcode version 11.4.1 Went to: http://adv-r.had.co.nz/Rcpp.html#rcpp-intro and tried library(rcpp) which worked fine because I previously had installed the rcpp package. The following yields an error in finding config.h. I did a "find" on config.h and sure enough it is not in the clang++ -I directory references. Here is what I have tried: Installing Xcode's command line tools (which were installed using xcode-select --install) Also, downloaded and installed the version of clang8 and gfortran6.1 from: https://cran.r-project.org/bin/macosx/tools/ The following error occurs when I try this rcpp example from Hadley but it also happens whenever I try to install an R package from source. The compile fails due to not finding some include file. I would have thought that installing clang8 would have also included the proper include (.h) file directories with their contents needed by R. Is there something I am missing below? Thank you. > library(Rcpp) > cppFunction('int add(int x, int y, int z) { + int sum = x + y + z; + return sum; + }') In file included from fileb6e52d3a23c3.cpp:1: In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp.h:27: In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/RcppCommon.h:29: In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp/r/headers.h:67: In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp/platform/compiler.h:100: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:304: In file included from /usr/local/include/math.h:8: In file included from /usr/local/include/features.h:10: /usr/local/include/forwards.h:10:10: fatal error: 'config.h' file not found #include "config.h" ^~~~~~~~~~ 1 error generated. make: *** [fileb6e52d3a23c3.o] Error 1 clang++ -std=gnu++11 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I"/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include" -I"/private/var/folders/bt/1gd00p5s6n19m_bgh9b04gxc0000gp/T/RtmpRRyaky/sourceCpp-x86_64-apple-darwin15.6.0-1.0.4" -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c fileb6e52d3a23c3.cpp -o fileb6e52d3a23c3.o Error in sourceCpp(code = code, env = env, rebuild = rebuild, cacheDir = cacheDir, : Error 1 occurred building shared library. > _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel