Hide Forgot
Hi, as I've been communicating with Conrad in my emails, my own code ERKALE ( http://erkale.googlecode.com ) uses both GSL and Armadillo. The GSL library is already linked against a CBLAS library, which causes problems during linkage. As I would like to avoid shipping bundled libraries and since this is a potential problem with other programs as well, I would appreciate if the armadillo Fedora package could also ship an alternative package, e.g. armadillo-headers-devel, that would conflict with armadillo-devel. The idea would be to provide only the development headers without the need for a runtime library, so that the user can define at compilation time what options to enable in Armadillo. I guess it is possible to enable e.g. BLAS and LAPACK support with #define ARMA_USE_BLAS #define ARMA_USE_LAPACK #include <armadillo> anyway?
Hi Jussi, My plate is quite full, so I probably won't get to this for a while. I'm also not too keen on having two conflicting packages. In Armadillo 2.0 it's possible to disable the use of ATLAS (which can conflict with GSL) through defining ARMA_DONT_USE_ATLAS before including the armadillo header. I'll add similar functionality for the conditional use of LAPACK and BLAS. I'll upgrade the Armadillo package to the 2.x series after it's been in use for a month or two (in order to detect any latent bugs).
If you are against the idea of conflicting packages (which, in my POV, is easier), the other possibility would be to just install the headers in a different directory...
Hi Jussi, I don't have the time to keep track of two separate armadillo packages. I've updated Armadillo in Rawhide, Fedora 16 and EPEL to the latest stable version, which is 2.2.3 In the updated version, you can explicitly disable to use of ATLAS, BLAS or LAPACK by defining ARMA_DONT_USE_ATLAS, ARMA_DONT_USE_BLAS, or ARMA_DONT_USE_LAPACK before including the armadillo header. For example: #define ARMA_DONT_USE_ATLAS #include <armadillo>
Hi Conrad, there's no overhead in two packages, since both would be generated from the same spec file. And the problem is in the library..