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

Baptiste Auguie baptiste.auguie at gmail.com
Tue Dec 19 09:38:14 CET 2017


Hi,

Thanks for the pointer to `arma::solve_opts::no_band`, it sounds like a
good solution (assuming the compiler will then skip all the parts related
to banded inversion routines). I've been unable to test it so far; I
haven't managed to reproduce the error reported on CRAN on a mac.
The 'crippled Lapack' macro was useful as a workaround in the past but I'm
not sure of its exact mode of operation so I'm reluctant to set something
to "cripple" the code (does it target only those routines that are found
missing, or is it more of a blanket switch with no fine-tuning?).

Thanks,

baptiste








On 19 December 2017 at 02:20, Dirk Eddelbuettel <edd at debian.org> wrote:

>
> 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
>
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list