Hi,

I am trying to compile siesta with cmake but I encounter issues with
scalapack linking. I notice that the compilation process has changed
compared to what I was used to.

Here is my cmake build command:

$ cmake -S. -B_build
-DCMAKE_INSTALL_PREFIX=/home/boubacart/SIESTA/siesta/bin
-DSIESTA_WITH_MPI=ON -DSIESTA_WITH_ELPA=ON -DSIESTA_WITH_LIBXC=ON
-DSCALAPACK_LIBRARY="-lscalapack-openmpi-devel"

It fails at with a linking error as shown below:
===================================
-- The Fortran compiler identification is GNU 4.8.5
-- The C compiler identification is GNU 4.8.5
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /bin/f95 - skipped
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Check use of deprecated variables
--   All Siesta variables/options are prefixed with SIESTA_, e.g.
SIESTA_WITH_MPI
-- Check use of deprecated variables - success
-- Using GNU compiler
-- Using toolchain: Config/cmake/toolchains/gnu.cmake
-- 
No build type selected. SIESTA will default to 'Release'.
To override pass -DCMAKE_BUILD_TYPE=<type> in order to configure SIESTA.
Available options are:
  * -DCMAKE_BUILD_TYPE=Release - For an optimized build with no assertions
or debug info.
  * -DCMAKE_BUILD_TYPE=Debug - For an unoptimized build with assertions and
debug info.
  * -DCMAKE_BUILD_TYPE=Check - For an unoptimized build with assertions and
debug info + code checks.
  * -DCMAKE_BUILD_TYPE=RelWithDebInfo - For an optimized build with no
assertions but with debug info.
  * -DCMAKE_BUILD_TYPE=MinSizeRel - For a build optimized for size instead
of speed.

-- Flags for C-compiler (build type: Release):  -O3 -march=native
-- Flags for Fortran-compiler (build type: Release):  -O3 -march=native
-- Found PkgConfig: /bin/pkg-config (found version "0.27.1")
-- Checking Siesta version
--   SIESTA_VERSION: 5.1-MaX-28-gf3224d62e (err=3)
--
  WARNING: This is *not* an official SIESTA release.
  WARNING:
  WARNING: Unless you are trying a feature or fix that has not
  WARNING: been released yet, we strongly recommend the use of
  WARNING: official releases of SIESTA, which can be downloaded from
  WARNING: 
https://urldefense.com/v3/__https://gitlab.com/siesta-project/siesta/-/releases__;!!D9dNQwwGXtA!Rmpg9p8UKPCW6cyz-pqv17rbWkCKGs1uYvlQr27gN9ZwXYYwmNCOwy9r86NqoSZLMHQWF3Yg0VdJhClvy0M$
 


-- Checking Siesta version - found development version
-- Parsing BLAS options
--   Locating BLAS library
--   Looking for Fortran sgemm
--   Looking for Fortran sgemm - not found
--   Performing Test CMAKE_HAVE_LIBC_PTHREAD
--   Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
--   Looking for pthread_create in pthreads
--   Looking for pthread_create in pthreads - not found
--   Looking for pthread_create in pthread
--   Looking for pthread_create in pthread - found
--   Found Threads: TRUE
--   Looking for Fortran sgemm
--   Looking for Fortran sgemm - found
--   Found BLAS: /usr/lib64/libblas.so
--   Found CustomBlas: /usr/lib64/libblas.so
--   Locating BLAS library - found
--   BLAS library: /usr/lib64/libblas.so
--   BLAS link flags:
-- Parsing LAPACK options
--   Locating LAPACK library
--   Looking for Fortran cheev
--   Looking for Fortran cheev - not found
--   Looking for Fortran cheev
--   Looking for Fortran cheev - found
--   Found LAPACK: /usr/lib64/liblapack.so;/usr/lib64/libblas.so
--   Found CustomLapack: /usr/lib64/liblapack.so;/usr/lib64/libblas.so
--   Locating LAPACK library - found
--   LAPACK library: /usr/lib64/liblapack.so;/usr/lib64/libblas.so
--   LAPACK link flags:
-- Found MPI_C: /usr/lib64/openmpi/lib/libmpi.so (found version "3.0")
-- Found MPI_Fortran: /usr/lib64/openmpi/lib/libmpi_usempi.so (found
version "3.0")
-- Found MPI: TRUE (found version "3.0") found components: Fortran C
-- Parsing ScaLAPACK options
--   Locating ScaLAPACK library
--   Using user-defined variables
--   Found CustomScalapack: -lscalapack-openmpi-devel
--   Locating ScaLAPACK library - found
--   ScaLAPACK library: -lscalapack-openmpi-devel
--   ScaLAPACK link flags:
-- Checking that BLAS library works...
--   Performing Test blas_has_sgemm
--   Performing Test blas_has_sgemm - Success
--   Performing Test blas_cdotu_return_convention
--   Performing Test blas_cdotu_return_convention - Success
-- Checking that LAPACK library works...
--   Performing Test lapack_has_dsysv
--   Performing Test lapack_has_dsysv - Success
-- Checking that ScaLAPACK library works...
--   Performing Test scalapack_has_blacs_gridinit
--   Performing Test scalapack_has_blacs_gridinit - Failed
CMake Warning at Config/cmake/SiestaCheckLinalg.cmake:125 (message):
  ---------------------------------------------

   ScaLAPACK library cannot link properly Please check the library linking
string found or used by CMake---------------------------------------------
Call Stack (most recent call first):
  CMakeLists.txt:189 (include)


CMake Error at Config/cmake/SiestaCheckLinalg.cmake:130 (message):
    *** ScaLAPACK library does not link properly
Call Stack (most recent call first):
  CMakeLists.txt:189 (include)


-- Configuring incomplete, errors occurred!
===================================

Can anyone help me solve this issue? I tried but I so far did not find a
solution.

Thanks,
Boubacar
-- 
SIESTA is supported by the Spanish Research Agency (AEI) and by the European 
H2020 MaX Centre of Excellence (http://www.max-centre.eu/)

Reply via email to