[Rcpp-devel] Installation issue for Rcpp_0.8.9 and Rcpp_0.9.0

Dirk Eddelbuettel edd at debian.org
Thu Jan 6 20:13:16 CET 2011


Hi Steve,

Welcome to the list.

On 6 January 2011 at 12:35, Steve Moffitt wrote:
| First, is this an appropriate way to report issues with Rcpp and RInside?

Very much so.  
 
| Second, I'd like to commend all developers for your fine work in supporting the R environment, especially through the Rcpp and RInside packages.  
| 
| I've updated both versions on an up-to-date Fedora Core 13 machine and they work quite well.
| 
| I'm having some trouble, however, installing Rcpp in a production environment over which I have little control.  Here are the particulars.
| 
| (1) I can build R-2.12.0 successfully on a Redhat 5.0 platform with a bash shell (Linux quant1 2.6.18-194.26.1.el5 #1 SMP Fri Oct 29 14:21:16 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux) using gcc/g++ v.4.1.2.  The build succeeds; R launches successfully and I can installs packages using 'install.packages' or R CMD INSTALL.  An installation script 'installR.ksh'  is attached - it succeeds up to the point when R CMD INSTALL attempts to install Rcpp.  Note that R-2.12.0 is installed in a directory ~/prod/thirdparty/R/R-2,12,0 and that I intended to install packages into ~/prod/thirdparty/R/R-2,12,0/library.

Your problem is gcc / g++ 4.1.* which is too old for Rcpp.

R builds fine for you as R only needs a standard C, C++ and Fortran compiler
suite, and gcc / g++ / gfortran do not require particular versions [ apart
from the Windows builds now requiring gcc 4.5.* to support win32 and win64 ]
 
Rcpp however uses more modern C++ features and those are missing pre 4.2.  At
one point we even considered requiring 4.4 or newer -- but a decent 4.2 will do.

| (2) I can install packages 'chron', 'dateTime' and 'timeSeries' from gzipped source or from the command line.  (The machine's firewall prevents me from installing via the web.) I haven't tried installing other packages since I don't need them at this time.

Similar -- I think these are all C only.
 
| (3) I've spent several days trying unsuccessfully to install Rcpp_0.8.9 and Rcpp_0.9.0 by reading the 'R Installation and Administration' and 'Writing R Extensions' docs to determine if I've installed incorrectly.   Rcpp build output is attached, generated from a command line invocation of 'install.packages'. I determined that everything works as it should (targets built, etc.) up to the 'dyn.load' test.  There the installation fails when it can't locate the (mangled) symbol '_ZTVN10__cxxabiv120__si_class_type_infoE'.

I guess we are somewhat at fault here by not making the test explicit ... but
then again we never had someone try with a g++ 4.1.* version either.

We did have a failure with an early g++ 4.2.* release on an older OS X
release as I recall, but that may have been RcppArmadillo and/or Rcpp.

Long story short: your starting position is not compatible with the software
you tried to install.  If the box cannot be updated, you could try much older
Rcpp / RInside releases --- which forgoes a lot of newer features.

| (4) The same error occurs when I attempt to install using 'R CMD INSTALL'.
| 
| Can you advise?  Thanks in advance.

I would recommend that you upgrade the Linux box to a newer RHEL or Centos
version. Or at least try to also install a less antiquated compiler.

Hope this helps,  Dirk

 
| Steve Moffitt
| 
| Director of Research
| WH Trading, LLC
| 125 W. Adams, Suite 500
| Chicago, IL   60606
| 
| Tel:  (312) 372-4557 ext. 2013
| Fax: (312) 372-4559
| ----------------------------------------------------------------------
| > # R version
| > version
|                _
| platform       x86_64-unknown-linux-gnu
| arch           x86_64
| os             linux-gnu
| system         x86_64, linux-gnu
| status
| major          2
| minor          12.0
| year           2010
| month          10
| day            15
| svn rev        53317
| language       R
| version.string R version 2.12.0 (2010-10-15)
| >
| >
| > # Installation from within R
| >
| > install.packages("Rcpp_0.9.0.tar.gz","/home/smoffitt1/prod/thirdparty/R/R-2.12.0/library",repos=NULL)
| * installing *source* package ‘Rcpp’ ...
| ** libs
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Date.cpp -o Date.o
| Date.cpp: In constructor ‘Rcpp::Date::Date(const unsigned int&, const unsigned int&, const unsigned int&)’:
| Date.cpp:78: warning: converting to ‘int’ from ‘double’
| Date.cpp: In member function ‘double Rcpp::Date::mktime00(tm&) const’:
| Date.cpp:118: warning: converting to ‘int’ from ‘double’
| Date.cpp:121: warning: converting to ‘int’ from ‘double’
| Date.cpp: In function ‘tm* Rcpp::timesub(const time_t*, long int, const Rcpp::state*, tm*)’:
| Date.cpp:1281: warning: converting to ‘long int’ from ‘double’
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c DateVector.cpp -o DateVector.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Datetime.cpp -o Datetime.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c DatetimeVector.cpp -o DatetimeVector.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Dimension.cpp -o Dimension.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c DottedPair.cpp -o DottedPair.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Environment.cpp -o Environment.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Evaluator.cpp -o Evaluator.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Formula.cpp -o Formula.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Function.cpp -o Function.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Language.cpp -o Language.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Module.cpp -o Module.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Pairlist.cpp -o Pairlist.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Promise.cpp -o Promise.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c RObject.cpp -o RObject.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c RcppCommon.cpp -o RcppCommon.o
| /usr/bin/gcc -std=gnu99 -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Rcpp_init.c -o Rcpp_init.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Reference.cpp -o Reference.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c S4.cpp -o S4.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c Symbol.cpp -o Symbol.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c WeakReference.cpp -o WeakReference.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c barrier.cpp -o barrier.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c cache.cpp -o cache.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c coerce.cpp -o coerce.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c complex.cpp -o complex.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c debugging.cpp -o debugging.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c exceptions.cpp -o exceptions.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c posixt.cpp -o posixt.o
| /usr/bin/gcc -I/home/smoffitt1/prod/thirdparty/R/R-2.12.0/include -I../inst/include/ -I/usr/local/include    -fpic  -g -O2 -c r_cast.cpp -o r_cast.o
| /usr/bin/gcc -shared -L/usr/local/lib64 -o Rcpp.so Date.o DateVector.o Datetime.o DatetimeVector.o Dimension.o DottedPair.o Environment.o Evaluator.o Formula.o Function.o Language.o Module.o Pairlist.o Promise.o RObject.o RcppCommon.o Rcpp_init.o Reference.o S4.o Symbol.o WeakReference.o barrier.o cache.o coerce.o complex.o debugging.o exceptions.o posixt.o r_cast.o
| /usr/bin/gcc -o libRcpp.so Date.o DateVector.o Datetime.o DatetimeVector.o Dimension.o DottedPair.o Environment.o Evaluator.o Formula.o Function.o Language.o Module.o Pairlist.o Promise.o RObject.o RcppCommon.o Rcpp_init.o Reference.o S4.o Symbol.o WeakReference.o barrier.o cache.o coerce.o complex.o debugging.o exceptions.o posixt.o r_cast.o -shared
| ar qc libRcpp.a Date.o DateVector.o Datetime.o DatetimeVector.o Dimension.o DottedPair.o Environment.o Evaluator.o Formula.o Function.o Language.o Module.o Pairlist.o Promise.o RObject.o RcppCommon.o Rcpp_init.o Reference.o S4.o Symbol.o WeakReference.o barrier.o cache.o coerce.o complex.o debugging.o exceptions.o posixt.o r_cast.o
| cp libRcpp.so ../inst/lib
| cp libRcpp.a ../inst/lib
| rm libRcpp.so libRcpp.a
| installing to /mnt/home3/smoffitt1/prod/thirdparty/R/R-2.12.0/library/Rcpp/libs
| ** R
| ** inst
| ** preparing package for lazy loading
| ** help
| *** installing help indices
| ** building package indices ...
| ** testing if installed package can be loaded
| Error in dyn.load(file, DLLpath = DLLpath, ...) :
|   unable to load shared object '/mnt/home3/smoffitt1/prod/thirdparty/R/R-2.12.0/library/Rcpp/libs/Rcpp.so':
|   /mnt/home3/smoffitt1/prod/thirdparty/R/R-2.12.0/library/Rcpp/libs/Rcpp.so: undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE
| ERROR: loading failed
| * removing ‘/mnt/home3/smoffitt1/prod/thirdparty/R/R-2.12.0/library/Rcpp’
| * restoring previous ‘/mnt/home3/smoffitt1/prod/thirdparty/R/R-2.12.0/library/Rcpp’
| Warning message:
| In install.packages("Rcpp_0.9.0.tar.gz", "/home/smoffitt1/prod/thirdparty/R/R-2.12.0/library",  :
|   installation of package 'Rcpp_0.9.0.tar.gz' had non-zero exit status
| installR.ksh, installR.ksh          [Press RETURN to save to a file]
| _______________________________________________
| 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

-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com


More information about the Rcpp-devel mailing list