我正在试图在RcppArmadillo上安装CentOS。以下是一些环境细节:
OS: CentOS release 6.5 (Final)
R version: R-3.1.2-1.el6.x86_64
uname -sr: Linux 2.6.32-431.29.2.el6.x86_64
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)如果在R中运行install.packages("RcppArmadillo"),我会在下面列出错误消息,任何帮助都非常感谢。干杯。
* installing *source* package ‘RcppArmadillo’ ...
** package ‘RcppArmadillo’ successfully unpacked and MD5 sums checked
* checking LAPACK_LIBS: divide-and-conquer complex SVD available via R-supplied LAPACK
** libs
g++ -m64 -I/usr/include/R -DNDEBUG -I/usr/local/include -I"/home/rexec/R/library/Rcpp/include" -I../inst/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RcppArmadillo.cpp -o RcppArmadillo.o
In file included from ../inst/include/armadillo:97,
from ../inst/include/RcppArmadilloForward.h:46,
from ../inst/include/RcppArmadillo.h:30,
from RcppArmadillo.cpp:22:
../inst/include/armadillo_bits/traits.hpp: In instantiation of ‘const bool arma::is_arma_type<std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum> >::value’:
../inst/include/armadillo_bits/op_expmat_meat.hpp:51: instantiated from here
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview_elem2’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview_elem1’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview_col’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview_row’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_diagview’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_mtGlue’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_mtOp’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_eGlue’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_eOp’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_Glue’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_Op’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_Gen’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<unsigned int>, std::__is_floating<unsigned int> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_Mat’
../inst/include/armadillo_bits/traits.hpp: In instantiation of ‘const bool arma::is_arma_type<std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum> >::value’:
../inst/include/armadillo_bits/op_expmat_meat.hpp:51: instantiated from here
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview_elem2’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview_elem1’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview_col’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview_row’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_subview’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_diagview’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_mtGlue’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_mtOp’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_eGlue’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_eOp’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_Glue’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_Op’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_Gen’
../inst/include/armadillo_bits/traits.hpp:614: error: ‘std::__traitor<std::__is_integer<double>, std::__is_floating<double> >::<anonymous enum>’ is/uses anonymous type
../inst/include/armadillo_bits/traits.hpp:614: error: trying to instantiate ‘template<class T> struct arma::is_Mat’
make: *** [RcppArmadillo.o] Error 1
ERROR: compilation failed for package ‘RcppArmadillo’
* removing ‘/home/rexec/R/library/RcppArmadillo’
The downloaded source packages are in
‘/tmp/Rtmp2hNzB9/downloaded_packages’
Warning message:
In install.packages("RcppArmadillo") :
installation of package ‘RcppArmadillo’ had non-zero exit status发布于 2014-12-04 15:12:50
这是CentOS 6版gcc/g++ 4.4版本中的一个bug。升级到拥有更新的g++的CentOS 7,或者要求RcppArmadillo 维修人员更新最新版本的Armadillo (4.550.2),后者可以解决g++中的错误。
您还可以从以下站点手动安装RcppArmadillo的旧版本:http://cran.r-project.org/src/contrib/Archive/RcppArmadillo/
版本4.500在CentOS 6上工作
https://stackoverflow.com/questions/27296522
复制相似问题