On Tue, Feb 8, 2011 at 1:55 PM, Dirk Eddelbuettel <e...@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@max:~/svn/rcpp/pkg$ lsb_release -ricd
> Distributor ID: Ubuntu
> Description:    Ubuntu 10.10
> Release:        10.10
> Codename:       maverick
> edd@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@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@max:~/svn/rcpp/pkg$
>
>
> Dirk
>
> --
> Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com
>
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to