[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