[Rcpp-devel] Cannot run rcpp due to missing include file(s)

Paul Fishwick metaphorz at gmail.com
Sun May 3 19:17:03 CEST 2020


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 <carlganz at gmail.com>
Date: Sunday, May 3, 2020 at 12:04 PM
To: Paul Fishwick <metaphorz at gmail.com>
Cc: <rcpp-devel at 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 <metaphorz at 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 <carlganz at gmail.com>
Date: Sunday, May 3, 2020 at 11:02 AM
To: Paul Fishwick <metaphorz at gmail.com>
Cc: <rcpp-devel at 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 <metaphorz at 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 at lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20200503/06ffaa8a/attachment-0001.html>


More information about the Rcpp-devel mailing list