[R-pkg-devel] Lapack: undefined symbol: zgbsv_

Dirk Eddelbuettel edd at debian.org
Mon Dec 18 14:20:47 CET 2017


On 18 December 2017 at 13:12, Ralf Stubner wrote:
| On 18.12.2017 08:37, Baptiste Auguie wrote:
| > What I don't really understand (because of the templating system etc.) is
| > why this new routine in Armadillo would be needed at all, when cda does not
| > solve banded linear systems. I wonder if a practical workaround would be to
| > include a _dummy_ routine with the same name, ugly as that may sound.
| > Alternatively, define some compiler macro to tell Armadillo not to use this
| > special strategy. Does this sound doable?
| 
| Looking at
| https://github.com/RcppCore/RcppArmadillo/blob/f20cc71ad6b1c730a79f2e5609733f741172b399/inst/include/armadillo_bits/glue_solve_meat.hpp#L46
| t seems to be possible to disable banded matrix strategy using
| 
| arma::solve(X, y, arma::solve_opts::no_band)

Good catch!
 
| instead of
| 
| arma::solve(X, y)
| 
| Alternatively, there is also ARMA_CRIPPLED_LAPACK (c.f.
| https://github.com/RcppCore/RcppArmadillo/blob/f20cc71ad6b1c730a79f2e5609733f741172b399/inst/include/armadillo_bits/auxlib_meat.hpp#L4599),
| but I have not checked any side effects.

We used that in the past when some other routines were missing (which R
3.3.0, as I recall, added).

RcppArmadillo tests and sets this at package build / installation based on
what it is confronted with and flags a "limited" Lapack/Blas.

Baptiste could use that too -- this is what we have it for.

Thanks for the helpful follow-up.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org



More information about the R-package-devel mailing list