在CentOS 6.3上安装R软件包bsts失败,并出现以下(截断)错误。我已经按照建议的here尝试将GCC更新到版本4.8.2。还有其他建议吗?


  
  正在安装源程序包“ Boom” ...
  **包裹“ Boom”成功解包,并检查了MD5的总和
  **库
  g ++ -m64 -std = c ++ 0x -I / usr / include / R -DNDEBUG -I。 -I ../ inst / include -IBmath -Imath / cephes -Icblas -DNO_BOOST_THREADS -DNO_BOOST_FILESYSTEM -DADD_ -DRLANGUAGE -I / usr / local / include -I“ / usr / lib64 / R / library / BH / include” -fpic -O2 -g-管道-Wall -Wp,-D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector --param = ssp-buffer-size = 4 -m64 -mtune = generic -c模型/Bart/Bart.cpp -o模型/Bart/Bart.o
  Models / Bart / Bart.cpp:在成员函数‘void BOOM :: Bart :: VariableSummary :: finalize(int,
  BOOM :: Bart :: ContinuousCutpointStrategy)’:
  型号/Bart/Bart.cpp:110:65:警告:有符号和无符号整数表达式之间的比较[-Wsign-compare]
               如果(number_of_unique_values                                                                    ^
  型号/Bart/Bart.cpp:117:65:警告:有符号和无符号整数表达式之间的比较[-Wsign-compare]
               如果(number_of_unique_values                                                                    ^
  型号/Bart/Bart.cpp:129:61:警告:有符号和无符号整数表达式之间的比较[-Wsign-compare]
           如果(number_of_unique_values                                                                ^
  


很多:

 Models/Bart/Bart.cpp:1393:50: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      if (number_of_trees_to_remove >= trees_.size()) {
                                                   ^
 {standard input}: Assembler messages:
 {standard input}:71: Error: expecting string instruction after `rep'
 {standard input}:617: Error: expecting string instruction after `rep'
 {standard input}:664: Error: expecting string instruction after `rep'
 {standard input}:727: Error: expecting string instruction after `rep'
 {standard input}:790: Error: expecting string instruction after `rep'
 {standard input}:1171: Error: expecting string instruction after `rep'
 {standard input}:1180: Error: expecting string instruction after `rep'
 {standard input}:1231: Error: expecting string instruction after `rep'
 {standard input}:2704: Error: expecting string instruction after `rep'
 {standard input}:2796: Error: expecting string instruction after `rep'
 {standard input}:7412: Error: expecting string instruction after `rep'
 {standard input}:7504: Error: expecting string instruction after `rep'
 {standard input}:19481: Error: expecting string instruction after `rep'
 {standard input}:23959: Error: expecting string instruction after `rep'
 make: *** [Models/Bart/Bart.o] Error 1
 ERROR: compilation failed for package ‘Boom’
 * removing ‘/usr/lib64/R/library/Boom’
 ERROR: dependency ‘Boom’ is not available for package ‘BoomSpikeSlab’
 * removing ‘/usr/lib64/R/library/BoomSpikeSlab’
 ERROR: dependencies ‘BoomSpikeSlab’, ‘Boom’ are not available for package ‘bsts’
 * removing ‘/usr/lib64/R/library/bsts’

 The downloaded source packages are in
    ‘/tmp/Rtmpf9YQJJ/downloaded_packages’
 Updating HTML index of packages in '.Library'
 Making 'packages.html' ... done
 '/usr/lib64/R/bin/R' --vanilla CMD INSTALL  \
   '/tmp/Rtmpf9YQJJ/devtoolsa12a5ce5a465/google-CausalImpact-9c9286f'  \
   --library='/usr/lib64/R/library' --install-tests

 ERROR: dependency ‘bsts’ is not available for package ‘CausalImpact’
 * removing ‘/usr/lib64/R/library/CausalImpact’
 Error: Command failed (1)
 In addition: Warning messages:
 1: In utils::install.packages(deps, dependencies = NA, Ncpus = threads) :
   installation of package ‘Boom’ had non-zero exit status
 2: In utils::install.packages(deps, dependencies = NA, Ncpus = threads) :
   installation of package ‘BoomSpikeSlab’ had non-zero exit status
 3: In utils::install.packages(deps, dependencies = NA, Ncpus = threads) :
   installation of package ‘bsts’ had non-zero exit status

最佳答案

就我而言,安装新版本(4.9)的C ++和Fortran编译器很有帮助(请参阅R package 'Boom' fails to install on Ubuntu linux,对Dirk Eddelbuettel的提示)。我之前有4.8版,但无法使用。

我不确定如何在CentOS上执行此操作,但是我确定可以以一种或另一种方式升级编译器。 Ubuntu(14.04)的步骤是:


ubuntu-toolchain-r添加add-apt-repository PPA。我还使用了固定(https://help.ubuntu.com/community/PinningHowto),以便不会从该PPA自动更新其他软件包。
安装软件包g++-4.9gfortran-4.9
CXX=g++-4.9CXX1X=g++-4.9中设置环境变量~/.R/Makevars/etc/R/Makeconf
安装“动臂”。

09-19 23:05