]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Check SCALAPACK symbols
authorDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Sat, 16 Mar 2019 12:50:01 +0000 (13:50 +0100)
committerDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Sat, 16 Mar 2019 13:24:59 +0000 (14:24 +0100)
cmake/configure/configure_scalapack.cmake

index 86ac09a3ab1a958bf845c7842e30e466fd08fd94..273689bf1c28d2f52ad2a38b316779aed87991ee 100644 (file)
@@ -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()
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.