xiaoyeli / superlu

Supernodal sparse direct solver. https://portal.nersc.gov/project/sparse/superlu/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Biulding on lunux with ATLAS

prime6809 opened this issue · comments

Hi there,

I'm trying to do a cmake build on linux with a custom built ATLAS. This is installed in :

/usr/local/packages/ATLAS-3.10.3 with it's lib and include directories below there.
The lib directory contaions the libararies:
libatlas.a libf77blas.a libptcblas.a libsatlas.so
libcblas.a liblapack.a libptf77blas.a libtatlas.so

I'm running cmake with:

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/packages/superlu-5.2.2 -DTPL_BLAS_LIBRARIES=/usr/local/packages/ATLAS-3.10.3/lib/libatlas.a

And getting the following output:

Process XSDK defaults ...
USE_XSDK_DEFAULTS = 'FALSE'
-- SuperLU will be built as a static library.
-- The C compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/local/packages/gcc-9.3.0/bin/gcc
-- Check for working C compiler: /usr/local/packages/gcc-9.3.0/bin/gcc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- The Fortran compiler identification is GNU 9.3.0
-- Check for working Fortran compiler: /usr/local/packages/gcc-9.3.0/bin/gfortran
-- Check for working Fortran compiler: /usr/local/packages/gcc-9.3.0/bin/gfortran - works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/local/packages/gcc-9.3.0/bin/gfortran supports Fortran 90
-- Checking whether /usr/local/packages/gcc-9.3.0/bin/gfortran supports Fortran 90 - yes
-- Did not find or specify BLAS so configure to build internal CBLAS ...
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:

TPL_BLAS_LIBRARIES

-- Build files have been written to: /storage/stsxab/CentosBuild-2020/SuperLU/superlu-5.2.2/build

What do I have to do to pursuade it to use the pre-compiled atlas libs?

Cheers.

Phill.

I saw this line:
-- Did not find or specify BLAS so configure to build internal CBLAS ...

So it's not taking your definition of TPL_BLAS_LIBRARIES. But if you look at the CMakeLists.txt:
https://github.com/xiaoyeli/superlu/blob/master/CMakeLists.txt

The variable TPL_BLAS_LIBRARIES is properly defined. Are you using a different CMakeLists.txt ?

Nope using the distributed CMakeLists.txt I'll download checkout fresh copy of the source from git and try that as I had tried a standard make build before switching to cmake, including editing make.inc so that may be affecting it.

Does the same with a freshly cloned version too.
I also checked that the file specified in -DTPL_BLAS_LIBRARIES= exists

I also have such a problem when I try to compile with Openblas. Does this mean that the command
-DTPL_BLAS_LIBRARIES=/usr/local/packages/ATLAS-3.10.3/lib/libatlas.a
is wrong or not enough?

This still doesn't seem to be resolved can you PLEASE tell me what -DTPL_BLAS_LIBRARIES= should be set to to link against atlas?

Can you try adding the following cmake flag:
-DUSE_XSDK_DEFAULTS = 'TRUE'

I was having the same error, but adding -DUSE_XSDK_DEFAULTS = 'TRUE' worked. My final cmake command was:

cmake .. -DTPL_BLAS_LIBRARIES=/usr/lib/x86_64-linux-gnu/atlas/libblas.so -DUSE_XSDK_DEFAULTS='TRUE'