[Rcpp-devel] Problem with undefined symbols when building RcppArmadillo

Dirk Eddelbuettel edd at debian.org
Tue Feb 28 02:40:21 CET 2012

Hi Katherine,

Thanks for posting here.

On 27 February 2012 at 17:23, Comanor, Katherine wrote:
| Hello Dirk,
| I went through the thread at: http://www.digipedia.pl/usenet/thread/14655/781/
| as I seem to be running into the same problem, but wasn't able to determine a
| possible solution.  
| Basically, I'm trying to build R's RcppArmadillo, and although the build does
| succeed, it has undefined symbols in the binary library file RcppAramdillo.so
| which causes R's Forecast library, which depends on RcppArmadillo, not to build

On OS X with g++ 4.2.1, I suspect?

| as a result of these undefined symbols.  I'm trying to build Forecast 3.16
| using RcppArmadillo 0.2.34 and Rcpp 0.9.9.  
| Here are the undefined symbols dealing with "version":
| nm RcppArmadillo.so| grep -i version
| 000000000001022e t _GLOBAL__I_armadillo_version
|                  U _ZN4arma12arma_version5majorE
|                  U _ZN4arma12arma_version5minorE
|                  U _ZN4arma12arma_version5patchE

It is a known issue that confused us a little--and we don;t really run this
platform--but thankfully Gershon Bialer sent us a patch. From ChangeLog:

  2011-12-29  Dirk Eddelbuettel  <edd at debian.org>

  	  * src/RcppArmadillo.cpp: Force instantiation of arma version vars
	  which helps with older OS X compiler, as suggested by Gershon Bialer

and this is now in RcppArmadillo 0.2.35.  Please try that, which itself will
need Rcpp 0.9.10.

Let us know how it goes.

Cheers, Dirk

"Outside of a dog, a book is a man's best friend. Inside of a dog, it is too
dark to read." -- Groucho Marx

More information about the Rcpp-devel mailing list