[R-pkg-devel] Lapack: undefined symbol: zgbsv_
Dirk Eddelbuettel
edd at debian.org
Mon Feb 12 13:05:17 CET 2018
On 12 February 2018 at 22:16, Baptiste Auguie wrote:
| As far as I can tell Armadillo added specialised methods for banded
| matrices; the routines used to solve non-banded matrices probably haven't
| changed.
|
| Coming back to the error itself, what puzzles me is that it seems to be
| precisely the OSes relying on external Lapack that have a problem. It
| compiles fine on Windows,
| https://builder.r-hub.io/status/isolve_1.0.tar.gz-e3da3c1b83
| 26e62e4e14a913e5bbb5a4
|
| So it seems the problem is distinct from the previous issues with missing
| Lapack routines.
Maybe we are setting a more global "no advanced lapack" for Windows that
assures success when we assume that the other system will always have it.
One thing you could try is to write a configure test in your package so that
at build time a compile+link for the particular symbol is made.
If the test succeeeds, export a new HAVE_XYZ_BANDED_ROUTINE define and then
convince Conrad to respect that flag. Otherwise have the code fall back to
alternatives just like the Windows build.
Or, be brutal, and set '#define ARMA_CRIPPLED_LAPACK 1' everywhere. See
lines 67 to 95 of RcppArmadillo's configure.ac:
https://github.com/RcppCore/RcppArmadillo/blob/master/configure.ac#L67-L95
I could generalize the use in inst/include/RcppArmadilloConfigGenerated.h.in
by respecting prior definitions, ie wrapping #ifndef around them.
Dirk
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the R-package-devel
mailing list