From 2ce8a65aa17fe34b799702c01ae95b92a73025f5 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Sat, 16 Mar 2019 13:50:01 +0100 Subject: [PATCH] Check SCALAPACK symbols --- cmake/configure/configure_scalapack.cmake | 38 +++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/cmake/configure/configure_scalapack.cmake b/cmake/configure/configure_scalapack.cmake index 86ac09a3ab..273689bf1c 100644 --- a/cmake/configure/configure_scalapack.cmake +++ b/cmake/configure/configure_scalapack.cmake @@ -26,6 +26,44 @@ MACRO(FEATURE_SCALAPACK_FIND_EXTERNAL var) IF(SCALAPACK_FOUND) SET(${var} TRUE) CHECK_MPI_INTERFACE(SCALAPACK ${var}) + + IF (${var}) + CHECK_LIBRARY_EXISTS (${SCALAPACK_LIBRARY} pdsyevr_ {SCALAPACK_DIR} DEAL_II_SCALAPACK_HAS_PDSYEVR) + IF(NOT DEAL_II_SCALAPACK_HAS_PDSYEVR) + MESSAGE(STATUS "Could not find a sufficient SCALAPACK installation: " + "The required symbol pdsyevr_ was not found." + ) + SET(SCALAPACK_ADDITIONAL_ERROR_STRING + ${SCALAPACK_ADDITIONAL_ERROR_STRING} + "Could not find a sufficient SCALAPACK installation: \n" + "SCALAPACK symbol check for pdsyevr_ failed! This usually means that " + "your SCALAPACK installation is incomplete or the link line is " + "broken. Consult\n" + " CMakeFiles/CMakeError.log\n" + "for further information.\n" + ) + SET(${var} FALSE) + ENDIF() + ENDIF() + + IF(${var}) + CHECK_LIBRARY_EXISTS (${SCALAPACK_LIBRARY} pssyevr_ {SCALAPACK_DIR} DEAL_II_SCALAPACK_HAS_PSSYEVR) + IF(NOT DEAL_II_SCALAPACK_HAS_PSSYEVR) + MESSAGE(STATUS "Could not find a sufficient SCALAPACK installation: " + "The required symbol pssyevr_ was not found." + ) + SET(SCALAPACK_ADDITIONAL_ERROR_STRING + ${SCALAPACK_ADDITIONAL_ERROR_STRING} + "Could not find a sufficient SCALAPACK installation: \n" + "SCALAPACK symbol check for pssyevr_ failed! This usually means that " + "your SCALAPACK installation is incomplete or the link line is " + "broken. Consult\n" + " CMakeFiles/CMakeError.log\n" + "for further information.\n" + ) + SET(${var} FALSE) + ENDIF() + ENDIF() ENDIF() ENDMACRO() -- 2.39.5