[Rcpp-devel] LLVM

Dirk Eddelbuettel edd at debian.org
Sat Jul 23 23:32:04 CEST 2011

CCing Conrad even though I know he reads the list (and I fear he may have set
off for vacation in NZ). Also CCing Simon as usual when begging for OS X help :)

On 23 July 2011 at 13:56, Jan de Leeuw wrote:
| I compile a 64bit CLI version of the current R-devel from svn, with about 1000 add-on packages, in Lion, using the clang and clang++ compilers
| from the LLVM project (and gfortran 4.7). This generally works well, the compiles are really fast, but for RcppArmadillo I get
| ** testing if installed package can be loaded
| Error in dyn.load(file, DLLpath = DLLpath, ...) :  
|  unable to load shared object '/usr/local/R/lib/R/library/RcppArmadillo/libs/RcppArmadillo.so':
|  dlopen(/usr/local/R/lib/R/library/RcppArmadillo/libs/RcppArmadillo.so, 6): Symbol not found: __ZN4arma12arma_version5majorE

That is the very same issue we had with OS X development compilers before.
We even moved those arma::arma_version symbols around:

2011-04-25  Dirk Eddelbuettel  <edd at debian.org>

	* src/RcppArmadillo.cpp: Rewritten armadillo_version as to no longer
	require an instance of arma::arma_version, with Thanks! to Conrad

but as I recall that did not resolve the issue.  My memory is a little fuzzy,
but didn't this go away once you moved compilers?

The code bit it trivial:

extern "C" SEXP armadillo_version(SEXP single_){

    bool single = as<bool>( single_) ;

    if( single ){
	return wrap( 10000*arma::arma_version::major +
		     100*arma::arma_version::minor + 
		     arma::arma_version::patch ) ;

    IntegerVector version = 
	IntegerVector::create(_["major"] = arma::arma_version::major,
			      _["minor"] = arma::arma_version::minor,
			      _["patch"] = arma::arma_version::patch);

   return version ;


and there is no reason I can see why this doesn't link.


|  Referenced from: /usr/local/R/lib/R/library/RcppArmadillo/libs/RcppArmadillo.so
|  Expected in: flat namespace
| in /usr/local/R/lib/R/library/RcppArmadillo/libs/RcppArmadillo.so
| Error: loading failed
| Execution halted
| ERROR: loading failed
| * removing ‘/usr/local/R/lib/R/library/RcppArmadillo’
| * restoring previous ‘/usr/local/R/lib/R/library/RcppArmadillo’
| --  
| Jan de Leeuw
| Sent with Sparrow (http://www.sparrowmailapp.com/?sig)
| _______________________________________________
| 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

Gauss once played himself in a zero-sum game and won $50.
                      -- #11 at http://www.gaussfacts.com

More information about the Rcpp-devel mailing list