无法在CentOS下从源代码安装R软件包

时间:2015-12-07 13:30:41

标签: r centos install.packages

我正在使用CentOS

-bash-4.2$ cat /etc/*release*
CentOS Linux release 7.0.1406 (Core) 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CentOS Linux release 7.0.1406 (Core) 
CentOS Linux release 7.0.1406 (Core) 
cpe:/o:centos:centos:7

安装purrr R package from source

我正在使用R CMD INSTALL命令安装此软件包,但出现了错误,我不明白也无法克服。有谁知道如何解决这个问题?

-bash-4.2$ R CMD INSTALL purrr_0.1.0.tar.gz 
* installing to library 
* installing *source* package ‘purrr’ ...
** pakiet ‘purrr’ został pomyślnie rozpakowany oraz sumy MD5 zostały sprawdzone
** libs
g++ -m64 -I/usr/include/R -DNDEBUG -I../inst/include -DCOMPILING_DPLYR -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include" -I"/usr/lib64/R/library/dplyr/include" -I"/usr/lib64/R/library/BH/include"   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c RcppExports.cpp -o RcppExports.o
In file included from /usr/lib64/R/library/BH/include/boost/tuple/tuple.hpp:33:0,
                 from /usr/lib64/R/library/BH/include/boost/unordered/detail/allocate.hpp:27,
                 from /usr/lib64/R/library/BH/include/boost/unordered/detail/buckets.hpp:15,
                 from /usr/lib64/R/library/BH/include/boost/unordered/detail/table.hpp:10,
                 from /usr/lib64/R/library/BH/include/boost/unordered/detail/equivalent.hpp:14,
                 from /usr/lib64/R/library/BH/include/boost/unordered/unordered_map.hpp:17,
                 from /usr/lib64/R/library/BH/include/boost/unordered_map.hpp:16,
                 from /usr/lib64/R/library/dplyr/include/dplyr.h:32,
                 from RcppExports.cpp:4:
/usr/lib64/R/library/BH/include/boost/tuple/detail/tuple_basic.hpp: In function ‘typename boost::tuples::access_traits<typename boost::tuples::element<N, boost::tuples::cons<HT, TT> >::type>::const_type boost::tuples::get(const boost::tuples::cons<HT, TT>&)’:
/usr/lib64/R/library/BH/include/boost/tuple/detail/tuple_basic.hpp:228:45: warning: typedef ‘cons_element’ locally defined but not used [-Wunused-local-typedefs]
   typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
                                             ^
g++ -m64 -I/usr/include/R -DNDEBUG -I../inst/include -DCOMPILING_DPLYR -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include" -I"/usr/lib64/R/library/dplyr/include" -I"/usr/lib64/R/library/BH/include"   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c fast-copy.cpp -o fast-copy.o
g++ -m64 -I/usr/include/R -DNDEBUG -I../inst/include -DCOMPILING_DPLYR -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include" -I"/usr/lib64/R/library/dplyr/include" -I"/usr/lib64/R/library/BH/include"   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic  -c rows.cpp -o rows.o
In file included from /usr/lib64/R/library/BH/include/boost/tuple/tuple.hpp:33:0,
                 from /usr/lib64/R/library/BH/include/boost/unordered/detail/allocate.hpp:27,
                 from /usr/lib64/R/library/BH/include/boost/unordered/detail/buckets.hpp:15,
                 from /usr/lib64/R/library/BH/include/boost/unordered/detail/table.hpp:10,
                 from /usr/lib64/R/library/BH/include/boost/unordered/detail/equivalent.hpp:14,
                 from /usr/lib64/R/library/BH/include/boost/unordered/unordered_map.hpp:17,
                 from /usr/lib64/R/library/BH/include/boost/unordered_map.hpp:16,
                 from /usr/lib64/R/library/dplyr/include/dplyr.h:32,
                 from rows.cpp:2:
/usr/lib64/R/library/BH/include/boost/tuple/detail/tuple_basic.hpp: In function ‘typename boost::tuples::access_traits<typename boost::tuples::element<N, boost::tuples::cons<HT, TT> >::type>::const_type boost::tuples::get(const boost::tuples::cons<HT, TT>&)’:
/usr/lib64/R/library/BH/include/boost/tuple/detail/tuple_basic.hpp:228:45: warning: typedef ‘cons_element’ locally defined but not used [-Wunused-local-typedefs]
   typedef BOOST_DEDUCED_TYPENAME impl::type cons_element;
                                             ^
rows.cpp: In function ‘SEXPREC* subset_slices(const List&)’:
rows.cpp:18:3: error: ‘DataFrameSubsetVisitors’ is not a member of ‘dplyr’
   dplyr::DataFrameSubsetVisitors visitors(data);
   ^
rows.cpp:18:34: error: expected ‘;’ before ‘visitors’
   dplyr::DataFrameSubsetVisitors visitors(data);
                                  ^
rows.cpp:22:14: error: ‘visitors’ was not declared in this scope
     out[i] = visitors.subset(indices[i], classes);
              ^
rows.cpp: In function ‘SEXPREC* by_row_impl(const List&, SEXP, SEXP, int, const Environment&)’:
rows.cpp:232:3: error: ‘DataFrameSubsetVisitors’ is not a member of ‘dplyr’
   dplyr::DataFrameSubsetVisitors visitors(data);
   ^
rows.cpp:232:34: error: expected ‘;’ before ‘visitors’
   dplyr::DataFrameSubsetVisitors visitors(data);
                                  ^
rows.cpp:237:16: error: ‘visitors’ was not declared in this scope
     SEXP row = visitors.subset(IntegerVector::create(i), classes);
                ^
make: *** [rows.o] Błąd 1
ERROR: compilation failed for package ‘purrr’

1 个答案:

答案 0 :(得分:1)

解决方案看起来很简单https://github.com/hadley/purrr/issues/146 我有一个旧版本的依赖dplyr包。