Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCALAPACK symbol check for pdsyevr_ and pssyevr_ failed #15260

Open
TGBInfotech21 opened this issue May 24, 2023 · 1 comment
Open

SCALAPACK symbol check for pdsyevr_ and pssyevr_ failed #15260

TGBInfotech21 opened this issue May 24, 2023 · 1 comment

Comments

@TGBInfotech21
Copy link

dealii version is 9.4.2

cmake -S $HOME_SRC/dealii/dealii-9.4.2 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran
-DMPI_C_COMPILER=mpicc -DMPI_CXX_COMPILER=mpicxx -DMPI_Fortran_COMPILER=mpif90
-DDEAL_II_CXX_FLAGS_RELEASE="-O2" -DDEAL_II_COMPONENT_EXAMPLES=OFF -DDEAL_II_WITH_MPI=ON
-DDEAL_II_WITH_64BIT_INDICES=ON -DDEAL_II_WITH_TBB=OFF -DDEAL_II_WITH_TASKFLOW=OFF
-DDEAL_II_WITH_P4EST=ON -DP4EST_DIR=$HOME_BUILD/p4est/FAST/
-DDEAL_II_WITH_LAPACK=ON -DLAPACK_DIR="${MKLROOT}/lib/intel64" -DLAPACK_FOUND=true
-DLAPACK_LIBRARIES="-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl"
-DLAPACK_INCLUDE_DIRS="-I${MKLROOT}/include" -DDEAL_II_WITH_SCALAPACK=ON
-DSCALAPACK_LIBRARIES="-L${MKLROOT}/lib/intel64/libmkl_scalapack_ilp64.a -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_gnu_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_blacs_openmpi_ilp64.a -Wl,--end-group -lgomp -lpthread -lm -ldl"
-DCMAKE_INSTALL_PREFIX=$HOME_BUILD/dealii
-DDEAL_II_CUDA_FLAGS="-arch=sm_75" -DDEAL_II_WITH_CUDA=ON
-DDEAL_II_MPI_WITH_CUDA_SUPPORT=ON

Also try with : -DSCALAPACK_LIBRARIES="-L${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lmkl_blacs_openmpi_lp64 -lgomp -lpthread -lm -ldl"


-- Include /home/opt/src/dealii/dealii-9.4.2/cmake/configure/configure_50_scalapack.cmake
-- Performing Test DEAL_II_SCALAPACK_HAS_PDSYEVR_PSSYEVR
-- Performing Test DEAL_II_SCALAPACK_HAS_PDSYEVR_PSSYEVR - Failed
-- Could not find a sufficient SCALAPACK installation: The required symbols pdsyevr_ and pssyevr_ were not found.
-- DEAL_II_WITH_SCALAPACK has unmet external dependencies.
CMake Error at cmake/macros/macro_configure_feature.cmake:112 (MESSAGE):

Could not find the scalapack library!

Could not find a sufficient SCALAPACK installation:

SCALAPACK symbol check for pdsyevr_ and pssyevr_ failed! This usually means
that your SCALAPACK installation is incomplete or the link line is broken.
Consult

CMakeFiles/CMakeError.log

for further information.

Please ensure that a suitable scalapack library is installed on your
computer.

If the library is not at a default location, either provide some hints for
autodetection, or set the relevant variables by hand in ccmake.

Call Stack (most recent call first):
cmake/macros/macro_configure_feature.cmake:269 (FEATURE_ERROR_MESSAGE)
cmake/configure/configure_50_scalapack.cmake:63 (CONFIGURE_FEATURE)
cmake/macros/macro_verbose_include.cmake:19 (INCLUDE)
CMakeLists.txt:130 (VERBOSE_INCLUDE)

-- Configuring incomplete, errors occurred!


nm ${MKLROOT}/lib/intel64/libmkl_scalapack_ilp64.so | grep pdsyevr
0000000000618240 T pdsyevr
00000000003de860 T pdsyevr_
00000000007312a0 b pdsyevr_$DESCA.0.1
0000000000731310 b pdsyevr_$IDUM1.0.1
00000000007312f0 b pdsyevr_$IDUM2.0.1

@marcfehling
Copy link
Member

I would suggest to provide hints for directories and let cmake try to find them.

set(SCALAPACK_DIR "" CACHE PATH "An optional hint to a SCALAPACK directory")
set(BLACS_DIR "" CACHE PATH "An optional hint to a BLACS directory")

Specifying libraries directly is cumbersome and error prone. Does the following option for scalapack work for you?

-D SCALAPACK_DIR=${MKLROOT}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants