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'