]> https://gitweb.dealii.org/ - dealii.git/commitdiff
disable PArpack if scalapack is present in Trilinos or PETSc link interface to avoid...
authorDenis Davydov <davydden@gmail.com>
Thu, 17 Sep 2015 20:33:24 +0000 (22:33 +0200)
committerDenis Davydov <davydden@gmail.com>
Thu, 17 Sep 2015 20:33:24 +0000 (22:33 +0200)
cmake/configure/configure_arpack.cmake
cmake/modules/FindARPACK.cmake

index 206b0cc4913e4e954ca7f485146b0d1790c1fc90..fa0e4499d4b989fc13b8d1be11354e1dc5095f68 100644 (file)
@@ -20,4 +20,4 @@
 SET(FEATURE_ARPACK_DEPENDS LAPACK)
 
 CONFIGURE_FEATURE(ARPACK)
-SET(DEAL_II_ARPACK_WITH_PARPACK ARPACK_WITH_PARPACK)
+SET(DEAL_II_ARPACK_WITH_PARPACK ${ARPACK_WITH_PARPACK})
index b15a4c722afbf6d3884f0ed4b8a96ceff84a5650..f8e26eb1f98b30dbae7a199fadef53e707e8c48e 100644 (file)
@@ -52,6 +52,25 @@ ELSE()
   SET(PARPACK_LIBRARY "PARPACK_LIBRARY-NOTFOUND")
 ENDIF()
 
+IF(NOT DEAL_II_ARPACK_WITH_PARPACK)
+  #
+  # We have to avoid an unfortuante symbol clash with "libscalapack.so" -
+  # arpack happened to blindly copy a symbol name...
+  #   https://github.com/opencollab/arpack-ng/issues/18
+  #   https://github.com/opencollab/arpack-ng/pull/21
+  #
+  # Just disable parpack support if scalapack is present in Trilinos' or
+  # PETSc's link interface. This can be overridden by manually setting
+  # DEAL_II_ARPACK_WITH_PARPACK to true.
+  #
+  FOREACH(_libraries ${TRILINOS_LIBRARIES} ${PETSC_LIBRARIES})
+    IF("${_libraries}" MATCHES "scalapack")
+      SET(PARPACK_LIBRARY "PARPACK_LIBRARY-NOTFOUND")
+    ENDIF()
+  ENDFOREACH()
+ENDIF()
+
+
 IF(NOT PARPACK_LIBRARY MATCHES "-NOTFOUND")
   SET(ARPACK_WITH_PARPACK TRUE)
 ELSE()

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.