Error installing diffuStats: compilation failed
1
0
Entering edit mode
sergi.picart ▴ 20
@sergipicart-11865
Last seen 3.1 years ago
Germany

When trying to install diffuStats, the following error pops up:

make: *** [diffuse_parallel.o] Error 1
ERROR: compilation failed for package ‘diffuStats’

This happened using Bioconductor version 3.10, which tried to install diffuStats 1.6.0 with BiocManager::install("diffuStats")

The full error report is below.

> BiocManager::install("diffuStats")
Bioconductor version 3.10 (BiocManager 1.30.10), R 3.6.3 (2020-02-29)
Installing package(s) 'diffuStats'
trying URL 'https://bioconductor.org/packages/3.10/bioc/src/contrib/diffuStats_1.6.0.tar.gz'
Content type 'application/x-gzip' length 1300728 bytes (1.2 MB)
==================================================
downloaded 1.2 MB

* installing *source* package ‘diffuStats’ ...
** using staged installation
** libs
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG  -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include" -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.6/RcppArmadillo/include" -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.6/RcppParallel/include"   -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++11 -I"/usr/share/R/include" -DNDEBUG  -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.6/Rcpp/include" -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.6/RcppArmadillo/include" -I"/home/sergi/R/x86_64-pc-linux-gnu-library/3.6/RcppParallel/include"   -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c diffuse_parallel.cpp -o diffuse_parallel.o
diffuse_parallel.cpp: In function ‘arma::sp_mat convertSparse(Rcpp::S4)’:
diffuse_parallel.cpp:28:34: error: ‘acquire_chunked’ is not a member of ‘arma::memory’
   arma::access::rw(res.values) = arma::memory::acquire_chunked<double>(x.size() + 1);
                                  ^
diffuse_parallel.cpp:28:64: error: expected primary-expression before ‘double’
   arma::access::rw(res.values) = arma::memory::acquire_chunked<double>(x.size() + 1);
                                                                ^
diffuse_parallel.cpp:32:39: error: ‘acquire_chunked’ is not a member of ‘arma::memory’
   arma::access::rw(res.row_indices) = arma::memory::acquire_chunked<arma::uword>(i.size() + 1);
                                       ^
diffuse_parallel.cpp:32:80: error: expected primary-expression before ‘>’ token
   arma::access::rw(res.row_indices) = arma::memory::acquire_chunked<arma::uword>(i.size() + 1);
                                                                                ^
/usr/lib/R/etc/Makeconf:177: recipe for target 'diffuse_parallel.o' failed
make: *** [diffuse_parallel.o] Error 1
ERROR: compilation failed for package ‘diffuStats’

What is a way around this?

PS: I am posting this question as diffuStats' current maintainer and providing the answer below.

diffuStats • 715 views
ADD COMMENT
1
Entering edit mode
sergi.picart ▴ 20
@sergipicart-11865
Last seen 3.1 years ago
Germany

There was a change in arma which triggered the compilation error. diffuStats was updated accordingly and the error goes away from versions 1.10.2 (Bioc release 3.12) / 1.11.2 (Bioc devel) onwards. Please make sure to install the latest ones, you might need to upgrade your Bioconductor version.

ADD COMMENT

Login before adding your answer.

Traffic: 528 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6