amit levin amit levin - 1 year ago 107
C++ Question

C++ Armadillo's connection with ATLAS/LAPACK

i'm running some C++ code that uses armadillo,
i manually downloaded armadillo into the same folder.

while running the code i get:

error: inv(): use of ATLAS or LAPACK needs to be enabled

what is the relation between armadillo and these libraries?

i'm searched google and didn't find a good solution or way to doenload any of these libraries.

i'm using kali linux 2.0

Answer Source

Armadillo is, primarily, a C++ wrapper for low-level linear algebra libraries like LAPACK or ATLAS Armadillo webpage with explanation of what it is. Since it's a wrapper, you need something to wrap, i.e. LAPACK etc. installed. Relevant piece of installation instruction (README.txt):

On Linux systems it is recommended that the following libraries are present: LAPACK, BLAS, ARPACK, SuperLU and ATLAS. LAPACK and BLAS are the most important. It is also necessary to install the corresponding development files for each library. For example, when installing the "lapack" package, also install the "lapack-devel" or "lapack-dev" package.

I strongly advise reading the entire readme file.

LAPACK is a fairly popular library so it should be in your package repository.