Ludovic Courtès <[email protected]> writes: >> The package builds, but there’s a linker problem that I don’t know how >> to fix: >> >> ** testing if installed package can be loaded >> Error in dyn.load(file, DLLpath = DLLpath, ...) : >> unable to load shared object >> '/gnu/store/vgnld4sl6ki7k1d70cjqk4rm68iimybp-r-rcpparmadillo-0.6.200.2.0/site-library/RcppArmadillo/libs/RcppArmadillo.so': >> >> /gnu/store/vgnld4sl6ki7k1d70cjqk4rm68iimybp-r-rcpparmadillo-0.6.200.2.0/site-library/RcppArmadillo/libs/RcppArmadillo.so: >> undefined symbol: wrapper_dgesv_ >> Error: loading failed >> Execution halted >> ERROR: loading failed >> * removing >> ‘/gnu/store/vgnld4sl6ki7k1d70cjqk4rm68iimybp-r-rcpparmadillo-0.6.200.2.0/site-library/RcppArmadillo’ >> phase `install' failed after 21.5 seconds >> >> It’s probably something to do with linking to lapack or something, but I >> don’t know how to address this. > > Sounds like the command that built RcppArmadillo.so lacked a -llapack or > something (not sure which library provides ‘wrapper_dgesv_’), no?
It lacked “-larmadillo”. Turns out that the armadillo package produces a shared library to wrap some lapack/arpack/openblas features. >> From 2500805d1aa6bf0890fb43d530da3f4ea6bb39f7 Mon Sep 17 00:00:00 2001 >> From: Ricardo Wurmus <[email protected]> >> Date: Mon, 21 Dec 2015 12:37:23 +0100 >> Subject: [PATCH 1/2] gnu: Add armadillo. >> >> * gnu/packages/maths.scm (armadillo): New variable. > > [...] > >> + (arguments `(#:tests? #f)) ;no test target >> + (inputs >> + `(("openblas" ,openblas) >> + ("lapack" ,lapack) >> + ("arpack" ,arpack-ng))) > > Since this is a header-only library, are these useful at all? They are optional inputs, and it seems that an actual shared library is produced (only when they are present?). >> From 9017b290c126143598eb6bb5e1c82e899d01b858 Mon Sep 17 00:00:00 2001 >> From: Ricardo Wurmus <[email protected]> >> Date: Mon, 21 Dec 2015 12:37:38 +0100 >> Subject: [PATCH 2/2] gnu: Add armadillo 6.200.2. >> >> * gnu/packages/maths.scm (armadillo-for-rcpparmadillo): New variable. > > OK. I would do this as part of the patch that adds RcppArmadillo, but > no big deal. Okay, I’ve merged this patch with the one for r-rcpparmadillo. Thanks for the review! ~~ Ricardo
