[Rcpp-devel] Installing RcppArmadillo under Ubuntu 10.10

Douglas Bates bates at stat.wisc.edu
Tue Feb 8 21:39:43 CET 2011


On Tue, Feb 8, 2011 at 1:55 PM, Dirk Eddelbuettel <edd at debian.org> wrote:

> On 8 February 2011 at 13:42, Douglas Bates wrote:
> | I'm back to "it's not your night, kid".  I seem to be unable to
> | install the RcppArmadillo package under Ubuntu 10.10 with R-2.12.1
> | installed from the packages on CRAN.  The compilation goes fine but
> | the package can't be loaded because the symbol
> | arma::arma_version::major is undefined.  It should have been defined
> | as a static unsigned int in
> | RcppArmadillo/inst/include/armadillo_bits/arma_version.hpp and is
> | indeed used in RcppArmadillo/src/RcppArmadillo.cpp.  The output from
> | the attempted installation is enclosed.

> What does ldd say when you point at .so file that fails to load?  Do you
> maybe have an old .deb package for Armadillo hanging around?

The ldd output is
	linux-vdso.so.1 =>  (0x00007fffcddff000)
	libRcpp.so => /home/bates/R/x86_64-pc-linux-gnu-library/2.12/Rcpp/lib/libRcpp.so
(0x00007fea656ee000)
	liblapack.so.3gf => /usr/lib/liblapack.so.3gf (0x00007fea64ab8000)
	libblas.so.3gf => /usr/lib/libblas.so.3gf (0x00007fea64573000)
	libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00007fea6428f000)
	libR.so => /usr/lib/libR.so (0x00007fea63d30000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fea63a29000)
	libm.so.6 => /lib/libm.so.6 (0x00007fea637a6000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fea63590000)
	libc.so.6 => /lib/libc.so.6 (0x00007fea6320c000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007fea62fef000)
	libreadline.so.6 => /lib/libreadline.so.6 (0x00007fea62dae000)
	libpcre.so.3 => /lib/libpcre.so.3 (0x00007fea62b7c000)
	liblzma.so.2 => /usr/lib/liblzma.so.2 (0x00007fea6295a000)
	libbz2.so.1.0 => /lib/libbz2.so.1.0 (0x00007fea62749000)
	libz.so.1 => /lib/libz.so.1 (0x00007fea62530000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007fea6232c000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fea65b96000)
	libncurses.so.5 => /lib/libncurses.so.5 (0x00007fea620e8000)

but armadillo shouldn't show up in ldd because it is only headers,
right?  The output of nm -g applied to that shared object does list
the major, minor and patch members of the arma_version struct but has
them as undefined

                 U _ZN4arma12arma_version5majorE
                 U _ZN4arma12arma_version5minorE
                 U _ZN4arma12arma_version5patchE

I checked and I don't have any of the Ubuntu packages associated with
armadillo installed.

I really don't know what is going on.

> Needless to say, it all works here on the same platform. I also ran R CMD
> check on both the most recent release and the svn head (which may still be
> identical).
>
>
> edd at max:~/svn/rcpp/pkg$ lsb_release -ricd
> Distributor ID: Ubuntu
> Description:    Ubuntu 10.10
> Release:        10.10
> Codename:       maverick
> edd at max:~/svn/rcpp/pkg$ R CMD INSTALL releases/RcppArmadillo_0.2.11.tar.gz
> * installing to library ‘/usr/local/lib/R/site-library’
> * installing *source* package ‘RcppArmadillo’ ...
> ** libs
> ccache g++ -I/usr/share/R/include   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O3 -Wall -pipe -pedantic -Wno-variadic-macros -c RcppArmadillo.cpp -o RcppArmadillo.o
> ccache g++ -I/usr/share/R/include   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O3 -Wall -pipe -pedantic -Wno-variadic-macros -c fastLm.cpp -o fastLm.o
> g++ -shared -o RcppArmadillo.so RcppArmadillo.o fastLm.o -L/usr/local/lib/R/site-library/Rcpp/lib -lRcpp -Wl,-rpath,/usr/local/lib/R/site-library/Rcpp/lib -llapack -lblas -lgfortran -lm -L/usr/lib64/R/lib -lR
> installing to /usr/local/lib/R/site-library/RcppArmadillo/libs
> ** R
> ** inst
> ** preparing package for lazy loading
> ** help
> *** installing help indices
> ** building package indices ...
> ** testing if installed package can be loaded
>
> * DONE (RcppArmadillo)
> edd at max:~/svn/rcpp/pkg$ R CMD INSTALL RcppArmadillo/
> * installing to library ‘/usr/local/lib/R/site-library’
> * installing *source* package ‘RcppArmadillo’ ...
> ** libs
> ccache g++ -I/usr/share/R/include   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O3 -Wall -pipe -pedantic -Wno-variadic-macros -c RcppArmadillo.cpp -o RcppArmadillo.o
> ccache g++ -I/usr/share/R/include   -I"/usr/local/lib/R/site-library/Rcpp/include"  -I../inst/include -fpic  -g -O3 -Wall -pipe -pedantic -Wno-variadic-macros -c fastLm.cpp -o fastLm.o
> g++ -shared -o RcppArmadillo.so RcppArmadillo.o fastLm.o -L/usr/local/lib/R/site-library/Rcpp/lib -lRcpp -Wl,-rpath,/usr/local/lib/R/site-library/Rcpp/lib -llapack -lblas -lgfortran -lm -L/usr/lib64/R/lib -lR
> installing to /usr/local/lib/R/site-library/RcppArmadillo/libs
> ** R
> ** inst
> ** preparing package for lazy loading
> ** help
> *** installing help indices
> ** building package indices ...
> ** testing if installed package can be loaded
>
> * DONE (RcppArmadillo)
> edd at max:~/svn/rcpp/pkg$
>
>
> Dirk
>
> --
> Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
>


More information about the Rcpp-devel mailing list