Dear all, I would like to use the package signeR
(http://bioconductor.org/packages/release/bioc/html/signeR.html)
on a R version 3.3.1 platform running BioC 3.4;
however, I am getting the following error (below). Please could you advise about what is going not right ... thank you !
* installing *source* package ‘signeR’ ...
** libs
g++ -std=c++0x -I/usr/local/lib/R/include -DNDEBUG -I/usr/local/include -I"/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/Rcpp/include" -I"/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/RcppArmadillo/include" -fpic -g -O2 -c RcppExports.cpp -o RcppExports.o
g++ -std=c++0x -I/usr/local/lib/R/include -DNDEBUG -I/usr/local/include -I"/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/Rcpp/include" -I"/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/RcppArmadillo/include" -fpic -g -O2 -c gibbs_2.cpp -o gibbs_2.o
gibbs_2.cpp: In function ‘Rcpp::List GibbsSamplerCpp(arma::mat, arma::mat, arma::cube, arma::mat, arma::mat, arma::mat, arma::mat, arma::mat, arma::mat, double, double, double, double, double, double, double, double, int, int, bool, bool, bool, bool)’:
gibbs_2.cpp:316:48: error: could not convert ‘{1, 2, 3, 4, 5, 6, 7}’ from ‘<brace-enclosed initializer list>’ to ‘arma::Row<int>’
make: *** [gibbs_2.o] Error 1
ERROR: compilation failed for package ‘signeR’
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu precise (12.04.5 LTS)
Thank you Renan for the very important information ;)
Hi Renan, i have installed indeed the latest version of gcc compiler on my Ubuntu Linux machine (please see below), however, I am still getting the same message when trying to install signeR. Any suggestion would be very helpful : thank you very much ;) !
bogdan@bogdan:~$ gcc --version
gcc (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
> source("https://bioconductor.org/biocLite.R")
Bioconductor version 3.4 (BiocInstaller 1.24.0), ?biocLite for help
> biocLite("signeR")
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.4 (BiocInstaller 1.24.0), R 3.3.1 (2016-06-21).
Installing package(s) ‘signeR’
trying URL 'https://bioconductor.org/packages/3.4/bioc/src/contrib/signeR_1.0.1.tar.gz'
Content type 'application/x-gzip' length 1910362 bytes (1.8 MB)
==================================================
downloaded 1.8 MB
* installing *source* package ‘signeR’ ...
** libs
g++ -std=c++0x -I/usr/local/lib/R/include -DNDEBUG -I/usr/local/include -I"/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/Rcpp/include" -I"/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/RcppArmadillo/include" -fpic -g -O2 -c RcppExports.cpp -o RcppExports.o
g++ -std=c++0x -I/usr/local/lib/R/include -DNDEBUG -I/usr/local/include -I"/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/Rcpp/include" -I"/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/RcppArmadillo/include" -fpic -g -O2 -c gibbs_2.cpp -o gibbs_2.o
gibbs_2.cpp: In function ‘Rcpp::List GibbsSamplerCpp(arma::mat, arma::mat, arma::cube, arma::mat, arma::mat, arma::mat, arma::mat, arma::mat, arma::mat, double, double, double, double, double, double, double, double, int, int, bool, bool, bool, bool)’:
gibbs_2.cpp:316:48: error: could not convert ‘{1, 2, 3, 4, 5, 6, 7}’ from ‘<brace-enclosed initializer list>’ to ‘arma::Row<int>’
make: *** [gibbs_2.o] Error 1
ERROR: compilation failed for package ‘signeR’
* removing ‘/home/bogdan/R/x86_64-pc-linux-gnu-library/3.3/signeR’
This is weird, make sure the new gcc you installed is the one being pick up by R, I am not sure how you installed it but ubuntu have packages for newer gcc, thats the preferred method, I am using ubuntu 14.04.5 and I got gcc 4.8.4 from the repositories. you might also need to do the installation on a new shell/R session.
this part is telling:
g++ -std=c++0x
, this is the flag for the incomplete standard, after it was finished the flag turned into -std=c++11, but we can't control which flag is picked, R figures that out automagically.