[Rcpp-devel] using SparseSuite and RcppEigen in package

2018-01-17 Thread Simon Barthelmé
Dear all, I'm trying to use some CHOLMOD functionality inside an R package (specifically, sparse Cholesky updates/downdates). There's an CHOLMOD/Eigen interface for that, but unfortunately the header I need is not shipped as part of either the Matrix package or the Rcpp package. The file is c

Re: [Rcpp-devel] [RcppParallel] Segfault but only on TravisCI

2018-01-17 Thread Dirk Eddelbuettel
On 16 January 2018 at 21:02, Alexis Sarda wrote: | Hello, | | I am integrating RcppParallel into my R package and I'm running into | strange problems with segmentation faults, but only during the continuous | integration checks. I have essentially variations of the following (I hope | GitHub gist

Re: [Rcpp-devel] using SparseSuite and RcppEigen in package

2018-01-17 Thread Dirk Eddelbuettel
On 17 January 2018 at 13:10, Simon Barthelmé wrote: | I'm trying to use some CHOLMOD functionality inside an R package | (specifically, sparse Cholesky updates/downdates). There's an | CHOLMOD/Eigen interface for that, but unfortunately the header I need is | not shipped as part of either the M

Re: [Rcpp-devel] using SparseSuite and RcppEigen in package

2018-01-17 Thread Yixuan Qiu
RSpectra does not use CHOLMOD, so probably it is not helpful here. I would suggest that you build CHOLMOD as an external library with headers, and then directly link Eigen and your code to the external CHOLMOD, ignoring the one shipped with Matrix. It is just like all other R packages that require

Re: [Rcpp-devel] using SparseSuite and RcppEigen in package

2018-01-17 Thread Simon Barthelmé
Hi Dirk, Thanks for your suggestion - I had thought of doing that but it requires tracking the versions of SuiteSparse used by Matrix, which means extra maintenance work. OTOH maybe updates are rare enough that it's not worth worrying about. It'd be nice if Matrix could expose more of SuiteSpa

Re: [Rcpp-devel] [RcppParallel] Segfault but only on TravisCI

2018-01-17 Thread Kevin Ushey
In your RcppParallel worker, it looks like you're trying to write to an Rcpp matrix; e.g. you have: distmat_(i,j) = local_calculator->calculate(i,j); where distmat_ is a matrix. You should avoid using Rcpp classes within RcppParallel workers, as there's no guarantee that the methods available

Re: [Rcpp-devel] [RcppParallel] Segfault but only on TravisCI

2018-01-17 Thread Alexis Sarda
(I think I forgot to reply to all) I failed to mention that I am also using RcppArmadillo elsewhere, and I found the following post by the Coatless Professor saying that Armadillo requires at least gcc 4.7.2: http://thecoatlessprofessor.com/programming/r/selecting-an-a lternative-compiler-for-r-p

Re: [Rcpp-devel] using SparseSuite and RcppEigen in package

2018-01-17 Thread Martyn Plummer
I think it is worth asking Martin Maechler if he could expose more SuiteSparse functionality through the Matrix package. Martyn On Wed, 2018-01-17 at 15:06 +0100, Simon Barthelmé wrote: > Hi Dirk, > > Thanks for your suggestion - I had thought of doing that but it requires > tracking the versio