无法在 R 中编译 RcppArmadillo [英] cannot compile RcppArmadillo in R
问题描述
我在编译 RcppArmadillo 时遇到问题.这是我尝试安装软件包时的结果:
I have a problem to compile RcppArmadillo. This is the result when I try to install the package:
> install.packages("RcppArmadillo")
Installing package(s) into ‘/home/*****/R/i686-pc-linux-gnu-library/2.15’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/src/contrib/RcppArmadillo_0.3.4.4.tar.gz'
Content type 'application/x-gzip' length 742125 bytes (724 Kb)
opened URL
==================================================
downloaded 724 Kb
Loading required package: survival
Loading required package: stats
Loading required package: utils
Loading required package: graphics
Loading required package: splines
Hmisc library by Frank E Harrell Jr
Type library(help='Hmisc'), ?Overview, or ?Hmisc.Overview')
to see overall documentation.
NOTE:Hmisc no longer redefines [.factor to drop unused levels when
subsetting. To get the old behavior of Hmisc type dropUnusedLevels().
Attaching package: ‘Hmisc’
The following object(s) are masked from ‘package:survival’:
untangle.specials
The following object(s) are masked from ‘package:base’:
format.pval, round.POSIXt, trunc.POSIXt, units
Welcome at Sun Dec 2 18:54:49 2012
* installing *source* package ‘RcppArmadillo’ ...
** package ‘RcppArmadillo’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/share/R/include -DNDEBUG -I"/home/******/R/i686-pc-linux-gnu-library/2.15/Rcpp/include" -I../inst/include -fpic -O3 -pipe -g -c RcppArmadillo.cpp -o RcppArmadillo.o
g++ -I/usr/share/R/include -DNDEBUG -I"/home/******/R/i686-pc-linux-gnu-library/2.15/Rcpp/include" -I../inst/include -fpic -O3 -pipe -g -c fastLm.cpp -o fastLm.o
Loading required package: survival
Loading required package: stats
Loading required package: utils
Loading required package: graphics
Loading required package: splines
Hmisc library by Frank E Harrell Jr
Type library(help='Hmisc'), ?Overview, or ?Hmisc.Overview')
to see overall documentation.
NOTE:Hmisc no longer redefines [.factor to drop unused levels when
subsetting. To get the old behavior of Hmisc type dropUnusedLevels().
Attaching package: ‘Hmisc’
The following object(s) are masked from ‘package:survival’:
untangle.specials
The following object(s) are masked from ‘package:base’:
format.pval, round.POSIXt, trunc.POSIXt, units
g++ -shared -o RcppArmadillo.so RcppArmadillo.o fastLm.o Welcome at Sun Dec 2 18:55:06 2012
-L/home/******/R/i686-pc-linux-gnu-library/2.15/Rcpp/lib -lRcpp -Wl,-rpath,/home/******/R/i686-pc-linux-gnu-library/2.15/Rcpp/lib -llapack -lblas -lgfortran -lm -lquadmath -L/usr/lib/R/lib -lR
Loading required package: survival
Loading required package: stats
Loading required package: utils
Loading required package: graphics
Loading required package: splines
Hmisc library by Frank E Harrell Jr
Type library(help='Hmisc'), ?Overview, or ?Hmisc.Overview')
to see overall documentation.
NOTE:Hmisc no longer redefines [.factor to drop unused levels when
subsetting. To get the old behavior of Hmisc type dropUnusedLevels().
Attaching package: ‘Hmisc’
The following object(s) are masked from ‘package:survival’:
untangle.specials
The following object(s) are masked from ‘package:base’:
format.pval, round.POSIXt, trunc.POSIXt, units
g++: error: Welcome: No such file or directory
g++: error: at: No such file or directory
g++: error: Sun: No such file or directory
g++: error: Dec: No such file or directory
g++: error: 2: No such file or directory
g++: error: 18:55:08: No such file or directory
g++: error: 2012: No such file or directory
make: *** [RcppArmadillo.so] Error 1
ERROR: compilation failed for package ‘RcppArmadillo’
* removing ‘/home/****/R/i686-pc-linux-gnu-library/2.15/RcppArmadillo’
Warning in install.packages :
installation of package ‘RcppArmadillo’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpDAngtR/downloaded_packages
’
我在 Ubuntu 12.04 上使用 R 版本 2.15.2.首先我认为缺少一些依赖项,但我已经通过突触包管理器安装了 Armadillo (libarmadillo2 v2.4.2),还安装了 g++ (v4.6.3).我不熟悉 c++,所以我不知道我是否可能需要一些额外的包.但是,安装 Rcpp 效果很好.
I am using R version 2.15.2 on Ubuntu 12.04. First I thought that some dependencies are missing, but I have installed Armadillo (libarmadillo2 v2.4.2) via the synaptic package manager, also g++ is installed (v4.6.3). I am not familiar with c++, so I don't know if I might need some additional packages. However, installing Rcpp works perfectly fine.
如果有人能帮助我,我会很高兴.
I would be really glad if somebody could help me.
推荐答案
install.packages
和 R CMD INSTALL
将(重新)启动 R 并读取您的 .Rprofile
.因此,您应该考虑将 if (interactive()) { }
包裹在 .Rprofile
文件中的代码周围,您只希望在交互式会话中运行(例如 library
或 require
调用).
install.packages
and R CMD INSTALL
will (re)start R and read your .Rprofile
. Therefore, you should consider wrapping if (interactive()) { }
around code in your .Rprofile
file that you only want run in interactive sessions (e.g. library
or require
calls).
否则,您需要在使用 install.packages()
之前使用 --vanilla
标志启动 R,或者使用 R --vanilla CMD INSTALL
来自 bash.
Otherwise, you need to start R with the --vanilla
flag before using install.packages()
, or use R --vanilla CMD INSTALL
from bash.
这篇关于无法在 R 中编译 RcppArmadillo的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!