DUWUDA
DUWUDA

Reputation: 362

cannot compile RcppArmadillo in R

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

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.

Upvotes: 6

Views: 6685

Answers (2)

GSee
GSee

Reputation: 49810

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).

Otherwise, you need to start R with the --vanilla flag before using install.packages(), or use R --vanilla CMD INSTALL from bash.

Upvotes: 8

Dirk is no longer here
Dirk is no longer here

Reputation: 368181

What on earth was the command you issued to get

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

back?

Do you know how to build an R package? Have you ever done R CMD INSTALL .... ? I happen to develop these packages on Ubuntu 12.* so I am pretty sure this works.

Moreover, I am not sure how much reading of the documentation you attempted but nowhere do we suggest to install libarmadillo in order to use RcppArmadillo.
The package provides its own set of Armadillo sources, for its use as well as for other R packages using RcppArmadillo.

And that Just Works (TM) as there are over 20 packages on CRAN alone making use of RcppArmadillo.

Upvotes: 1

Related Questions