[R-pkg-devel] Lapack: undefined symbol: zgbsv_
Thanks Dirk. I arrived at the same conclusions after tracking down the recent changes in Armadillo and noticing their addition of a special solve() case for banded matrices. 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? The ideal solution would be to have a fuller Lapack embedded in R for systems that need it, but there's no guarantee that R Core will consider it in the near future, and I'm given until the 23rd of this month before my package is removed from CRAN. Thanks, b.
On 18 December 2017 at 13:13, Dirk Eddelbuettel <edd at debian.org> wrote:
On 17 December 2017 at 17:50, Dirk Eddelbuettel wrote: | In short, but relying on (Rcpp)Armadillo, you are submit to it changing its That should have read: "... by relying on (Rcpp)Armadillo, you are subject to ..." My bad. | solver and it seems to have done so recently. And as R is primarily | concerned with double precision, that version you now need was never | included. Also, eg on the system where I do reverse-dependency checks, cda was never an issue as we use the external libraries: edd at bud:~/git/rcpp-logs/logs/rcpparmadillo(master)$ grep ^cda log-RcppArmadillo-2017* log-RcppArmadillo-20170411-1403.txt:cda_2.0.0.tar.gz : success (42 of 344, [...] log-RcppArmadillo-20170503-1207.txt:cda_2.0.0.tar.gz : success (43 of 347, [...] log-RcppArmadillo-20170504-0609.txt:cda_2.0.0.tar.gz : success (43 of 347, [...] log-RcppArmadillo-20170516-1041.txt:cda_2.0.0.tar.gz : success (44 of 349, [...] log-RcppArmadillo-20170523-1147.txt:cda_2.0.0.tar.gz : success (43 of 349, [...] log-RcppArmadillo-20170524-1940.txt:cda_2.0.0.tar.gz : success (43 of 349, [...] log-RcppArmadillo-20170531-0642.txt:cda_2.0.0.tar.gz : success (43 of 350, [...] log-RcppArmadillo-20170619-0918.txt:cda_2.0.0.tar.gz : success (44 of 357, [...] log-RcppArmadillo-20170801-1435.txt:cda_2.0.0.tar.gz : success (48 of 375, [...] log-RcppArmadillo-20170803-1102.txt:cda_2.0.0.tar.gz : success (48 of 376, [...] log-RcppArmadillo-20170808-1000.txt:cda_2.0.0.tar.gz : success (48 of 377, [...] log-RcppArmadillo-20170810-0908.txt:cda_2.0.0.tar.gz : success (48 of 377, [...] log-RcppArmadillo-20170819-1325.txt:cda_2.0.0.tar.gz : success (49 of 381, [...] log-RcppArmadillo-20171002-1006.txt:cda_2.0.0.tar.gz : success (55 of 400, [...] log-RcppArmadillo-20171009-0935.txt:cda_2.0.0.tar.gz : success (55 of 405, [...] log-RcppArmadillo-20171021-0734.txt:cda_2.0.0.tar.gz : success (56 of 411, [...] log-RcppArmadillo-20171023-1227.txt:cda_2.0.0.tar.gz : success (56 of 412, [...] log-RcppArmadillo-20171108-2024.txt:cda_2.0.0.tar.gz : success (57 of 426, [...] log-RcppArmadillo-20171123-0845.txt:cda_2.0.0.tar.gz : success (58 of 434, [...] log-RcppArmadillo-20171123-1539.txt:cda_2.0.0.tar.gz : success (58 of 434, [...] log-RcppArmadillo-20171201-1053.txt:cda_2.0.0.tar.gz : success (56 of 430, [...] log-RcppArmadillo-20171204-0848.txt:cda_2.0.0.tar.gz : success (56 of 431, [...] log-RcppArmadillo-20171210-0828.txt:cda_2.0.0.tar.gz : success (57 of 435, [...] edd at bud:~/git/rcpp-logs/logs/rcpparmadillo(master)$ [...] | In short, you seem to now have a requirement which R Core _may_ solve for you | in time for R 3.5.0. Otherwise your users will have to rely on systems with | a full (external) Lapack/Blas and not the smaller embedded one. That really seems to be the only way forward, short of embedding the routine in cda. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org