在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.9
和gfortran-4.9
。
在CXX=g++-4.9
或CXX1X=g++-4.9
中设置环境变量~/.R/Makevars
和/etc/R/Makeconf
。
安装“动臂”。