From 052dce6a3bb9f57685294dbfe3b16fd929a19d58 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Mon, 8 Jun 2020 22:45:56 -0500 Subject: [PATCH] CMake: Avoid another symbol clash with adol-c --- cmake/configure/configure_adolc.cmake | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/cmake/configure/configure_adolc.cmake b/cmake/configure/configure_adolc.cmake index aa22c46214..6ad62473f8 100644 --- a/cmake/configure/configure_adolc.cmake +++ b/cmake/configure/configure_adolc.cmake @@ -68,6 +68,29 @@ MACRO(FEATURE_ADOLC_FIND_EXTERNAL var) SET(${var} FALSE) ENDIF() + # + # We have to avoid another symbol clash with the netcdf library that + # might get transitively pulled in by Trilinos (the libnetcdf.so shared + # object exports the global symbol 'function' but so does adolc + # itself). + # + IF("${Trilinos_TPL_LIBRARIES}" MATCHES "netcdf") + MESSAGE(STATUS + "Could not find a sufficient ADOL-C installation: " + "Possible symbol clash between the ADOL-C library and netcdf " + "(pulled in as optional external dependency of Trilinos) detected" + ) + SET(ADOLC_ADDITIONAL_ERROR_STRING + ${ADOLC_ADDITIONAL_ERROR_STRING} + "Could not find a sufficient ADOL-C installation:\n" + "Possible symbol clash between the ADOL-C library and netcdf " + "(pulled in as optional external dependency of Trilinos). " + "If you want to use ADOL-C, please configure deal.II to use a " + "Trilinos library with disabled netcdf bindings.\n\n" + ) + SET(${var} FALSE) + ENDIF() + # # Check whether we have a recent enough ADOL-C library that can return # values from constant objects. -- 2.39.5