On 17 April 2019 at 11:06, Benjamin Christoffersen wrote: | Since the start of April, I have gotten some errors on the Debian | machines on the check on CRAN for my package dynamichazard. The places | where I get the errors seems to come down to LAPACK's dtrtri routine. | I have tried to reproduce the error on Debian 18.04.2 with clang 8.0.0 | but I cannot reproduce them. | | The errors came suddenly and the tests passed before. I see similar | issues (I think) in the following package: | - RcppHMM | - BNPmix | - themetagenomics | - tidytext | - stm | | Any ideas what the error may be? Here is the relevant code parts for | one of the failed tests: | https://github.com/boennecd/dynamichazard/blob/c42105feea5e2d16a8d461b7c606245a743b3e0a/src/for_tests.cpp#L216 | https://github.com/boennecd/dynamichazard/blob/c42105feea5e2d16a8d461b7c606245a743b3e0a/src/BLAS_LAPACK/arma_BLAS_LAPACK.cpp#L26 | https://github.com/boennecd/dynamichazard/blob/c42105feea5e2d16a8d461b7c606245a743b3e0a/src/BLAS_LAPACK/R_BLAS_LAPACK.cpp#L67
There are four or more different sources of LAPACK and BLAS on Debian as we (since the late 1990s !!) utilize the nature of the _interface_ allowing different packages to fill in. So there could be i) the R internal source with a partial library -- Fedora/CentOS use this but the Debian distro builds do not ii) "reference BLAS", external, unoptimized iii) OpenBLAS, the successor to Goto, parallel via multithreading iv) Atlas, "tuned" but not mulitthreading and more as eg Intel MKL via a quick script (see my blog). As a historical aside, and way-back-when, ii) earned us year's long growling from the direction of Oxfordshire because some early/old versions of LAPACK had bugs. But it cuts both ways: the external versions tend to be complete whereas what R ships with internally contains a subset -- and at least one (early) user of RcppArmadillo was bitten when R built from sources using defaults would not have the complex operations he needed. To R Core's credit these missing functions got filled in over the years. In short, you need to look more closely. On the Ubuntu 18.10 machine that I type this on, sessionInfo()'s second paragraph has Matrix products: default BLAS: /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3 LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.3.3.so which IIRC is also the default (via some Debian/Ubuntu internal 'ordering' of the available alternatives). Hth, Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel