[Rcpp-devel] Rcpp and RcppArmadillo errors on OSX Mavericks

Michael Cone coanil at posteo.org
Mon Nov 4 15:43:05 CET 2013


Dear list,

I'm fairly new to Rcpp but have been using it without any problems for 
a few weeks.
Yesterday I made the unfortunate error to upgrade from OS X 10.8 to OS 
X 10.9 (Mavericks), which
seriously broke something. Using a new user account/admin account 
didn't change anything
(apparently this has worked for someone once on this list).

I know that Problems with Mavericks have been discussed on this list 
before, but my CC and CXX in ~/.R/Makevars are set to clang and clang++ 
and I don't really know what else to do.

I'm using the pre-built R binary CRAN provides. Nothing fancy.
XCode 5.0.1 is installed along with the Command Line Tools (OS X 
Mavericks) and gfortran-4.2.3 from CRAN.)

I ran the the unit tests for RcppArmadillo, they almost all fail:
http://pastebin.com/C60xcvzh

One simple example (this is from the docs, Rcpp-modules p6):

In a clean R session with --vanilla:

> require(Rcpp)
Loading required package: Rcpp
> require(inline)
Loading required package: inline

Attaching package: ‘inline’

The following object is masked from ‘package:Rcpp’:

     registerPlugin

> inc <- '
    using namespace Rcpp;
    double norm( double x, double y ) {
    return sqrt( x*x + y*y );
    }
    RCPP_MODULE(mod) {
    function( "norm", &norm );
    }
   '
> fx <- cxxfunction(signature(), plugin="Rcpp", include=inc, 
> verbose=TRUE)
Compilation argument:
  /Library/Frameworks/R.framework/Resources/bin/R CMD SHLIB 
file10451508f324.cpp 2> file10451508f324.cpp.err.txt
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG  
-I/usr/local/include 
-I"/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include" 
   -fPIC  "-mtune=native -g -O2 -Wall -pedantic -Wconversion" -c 
file10451508f324.cpp -o file10451508f324.o
clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined 
dynamic_lookup -single_module -multiply_defined suppress 
-L/usr/local/lib -L/usr/local/lib -o file10451508f324.so 
file10451508f324.o 
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/lib/libRcpp.a 
-L/Library/Frameworks/R.framework/Resources/lib -lRlapack 
-L/Library/Frameworks/R.framework/Resources/lib -lRblas -lgfortran 
-F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework 
-Wl,CoreFoundation
Error in dyn.load(libLFile) :
   unable to load shared object 
'/var/folders/9x/w2b7c7k50g3749c7gqjrdz980000gn/T//Rtmp671JcT/file10451508f324.so':
   
dlopen(/var/folders/9x/w2b7c7k50g3749c7gqjrdz980000gn/T//Rtmp671JcT/file10451508f324.so, 
6): Symbol not found: 
__Z8demangleRKNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE
   Referenced from: 
/var/folders/9x/w2b7c7k50g3749c7gqjrdz980000gn/T//Rtmp671JcT/file10451508f324.so
   Expected in: flat namespace
  in 
/var/folders/9x/w2b7c7k50g3749c7gqjrdz980000gn/T//Rtmp671JcT/file10451508f324.so
>


$ c++filt 
__Z8demangleRKNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE
demangle(std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const&)


> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] C/UTF-8/C/C/C/C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] inline_0.3.13 Rcpp_0.10.6

loaded via a namespace (and not attached):
[1] tools_3.0.2

I also ran the unit tests for RcppArmadillo. Here are the results:
http://pastebin.com/cp29bBDJ

>.libPaths()
[1] "/Library/Frameworks/R.framework/Versions/3.0/Resources/library"

> require(devtools)
Loading required package: devtools
> has_devel()
'/Library/Frameworks/R.framework/Resources/bin/R' --vanilla CMD SHLIB 
foo.c

clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG  
-I/usr/local/include    -fPIC  "-mtune=native -g -O2 -Wall -pedantic 
-Wconversion" -c foo.c -o foo.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined 
dynamic_lookup -single_module -multiply_defined suppress 
-L/usr/local/lib -L/usr/local/lib -o foo.so foo.o 
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/lib/libRcpp.a 
-L/Library/Frameworks/R.framework/Resources/lib -lRlapack 
-L/Library/Frameworks/R.framework/Resources/lib -lRblas -lgfortran 
-F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework 
-Wl,CoreFoundation
[1] TRUE


Simple things work, though:
> require("Rcpp")
Loading required package: Rcpp
> evalCpp("1+1")
[1] 2


Please let me know if I forgot to include relevant information.

I would greatly appreciate any pointers in the right direction. Thank 
you for your help.

Michael Cone



More information about the Rcpp-devel mailing list