[Rcpp-devel] Problems getting RInside to work on OS X

Simon Zehnder szehnder at uni-bonn.de
Sun Oct 27 10:49:58 CET 2013


Yepp,

had a similar problem when using my gcc-4.8.1 (clang does not yet provide the openmp library by default - coming soon with Intel’s openmp implementation). It could not find the headers cdefs.h, types.h, etc.
The $CFLAGS variable of my GCC-4.8.1 was defined but was not considered by R CMD INSTALL. I had to give the include path manually via MAKEFLAGS=“CFLAGS=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include”.

I wonder though, why it uses in Clays case the llvm-g++-4.2 even if it is not there anymore? 
   
On 27 Oct 2013, at 10:18, JJ Allaire <jj.allaire at gmail.com> wrote:

> I believe that the problem is that gcc has been removed from command line tools on OS X Mavericks:
> 
> http://stackoverflow.com/questions/19533220/cannot-install-r-package-from-source-in-mac-osx-maverick
> 
> 
> 
> 
> On Sun, Oct 27, 2013 at 2:46 AM, <romain at r-enthusiasts.com> wrote:
> Hi,
> 
> What does this give you:
> 
> $ R CMD config CXX
> $ R CMD config CXXFLAGS
> 
> What happens in an R console when you type:
> 
> require(devtools)
> has_devel()
> 
> Romain
> 
> Le 2013-10-27 06:02, Claymore M a écrit :
> I am trying to get RInside to run on my mac (Mavericks). (I was able
> to get RInline running no problem using Ubuntu at work; "it just
> worked" with none of the hassle outlined below).
> 
> I downloaded the package and tried to run:
> 
> "make rinside_sample0" from within the standard folder of RInline.
> 
> This produced Error1.
> 
> _Among the first few lines of the many errors, I got:_
> 
> 
> _/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RInside/include/RInsideCommon.h:34:18:
> error: string: No such file or directory_
> 
> 
> _/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RInside/include/RInsideCommon.h:35:18:
> error: vector: No such file or directory_
> 
> 
> _/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RInside/include/RInsideCommon.h:36:20:
> error: iostream: No such file or directory_
> 
> 
> Why does the make file not find the "base" headers for iostream,
> string, vector from C++? I am guessing I need to tell the compiler
> where to find these files? How would I do this, presumably from
> editing the make file? Are there any guides for how to do this etc?
> Unfortunately, with no background in working with compilers when
> errors pop up, I wouldn't know where to start at this point.
> 
> I found this post suggesting I need to compile RInside from source on
> the mac.
> 
> http://stackoverflow.com/questions/12684408/rinside-linking-on-mac-osx
> [1]
> 
> 
> I then tried compiling RInside from source, but got these errors:
> 
> _* installing to library
> ‘/Library/Frameworks/R.framework/Versions/3.0/Resources/library’_
> 
> _* installing *source* package ‘RInside’ ..._
> 
> _** package ‘RInside’ successfully unpacked and MD5 sums checked_
> 
> _** libs_
> 
> _/Library/Frameworks/R.framework/Resources/bin/Rscript
> tools/RInsideAutoloads.r > RInsideAutoloads.h_
> 
> _/Library/Frameworks/R.framework/Resources/bin/Rscript
> tools/RInsideEnvVars.r > RInsideEnvVars.h_
> 
> _llvm-g++-4.2 -arch x86_64
> 
> -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I.
> -I../inst/include/ -I/usr/local/include
> 
> -I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include"
> -fPIC -mtune=core2 -g -O2 -c MemBuf.cpp -o MemBuf.o_
> 
> _MemBuf.cpp:23:20: error: iostream: No such file or directory_
> 
> _MemBuf.cpp:24:19: error: cstdlib: No such file or directory_
> 
> _MemBuf.cpp:25:18: error: string: No such file or directory_
> 
> _In file included from MemBuf.cpp:27:_
> 
> _../inst/include/MemBuf.h:25: error: ‘string’ in namespace
> ‘std’ does not name a type_
> 
> _../inst/include/MemBuf.h:32: error: expected unqualified-id before
> ‘&’ token_
> 
> _../inst/include/MemBuf.h:32: error: expected ‘,’ or ‘...’
> before ‘&’ token_
> 
> _../inst/include/MemBuf.h: In member function ‘const char*
> MemBuf::getBufPtr()’:_
> 
> _../inst/include/MemBuf.h:33: error: ‘buffer’ was not declared in
> this scope_
> 
> _MemBuf.cpp: In constructor ‘MemBuf::MemBuf(int)’:_
> 
> _MemBuf.cpp:34: error: class ‘MemBuf’ does not have any field
> named ‘buffer’_
> 
> _MemBuf.cpp:35: error: ‘buffer’ was not declared in this scope_
> 
> _MemBuf.cpp: In member function ‘void MemBuf::resize()’:_
> 
> _MemBuf.cpp:39: error: ‘buffer’ was not declared in this scope_
> 
> _MemBuf.cpp: In member function ‘void MemBuf::rewind()’:_
> 
> _MemBuf.cpp:43: error: ‘buffer’ was not declared in this scope_
> 
> _MemBuf.cpp: At global scope:_
> 
> _MemBuf.cpp:46: error: expected unqualified-id before ‘&’ token_
> 
> _MemBuf.cpp:46: error: expected ‘,’ or ‘...’ before ‘&’
> token_
> 
> _MemBuf.cpp: In member function ‘void MemBuf::add()’:_
> 
> _MemBuf.cpp:47: error: ‘buf’ was not declared in this scope_
> 
> _MemBuf.cpp:48: error: ‘buffer’ was not declared in this scope_
> 
> _MemBuf.cpp:51: error: ‘buffer’ was not declared in this scope_
> 
> _make: *** [MemBuf.o] Error 1_
> 
> _ERROR: compilation failed for package ‘RInside’_
> 
> 
> Again, something about iostream missing etc.
> 
> Any advice on the steps for what I need to do to fix this problem
> would be much appreciated.
> 
> Thanks in advance
> Clay
> 
> Links:
> ------
> [1] http://stackoverflow.com/questions/12684408/rinside-linking-on-mac-osx
> _______________________________________________
> 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
> 
> _______________________________________________
> 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



More information about the Rcpp-devel mailing list