David,

It looks like you have two modules that provides metis 
*/opt/apps/intel18/metis/5.0.2/lib 
and /home1/apps/intel18/impi18_0/petsc/3.11/skylake/lib  *This creates a 
conflict because the cmake see the symbols twice Which modules are you 
loading? Are you loading both yourself? 

Best,

Bruno

On Monday, February 15, 2021 at 7:57:01 PM UTC-5 [email protected] wrote:

> Hello, 
>
> I compiling PRISMS-PF, a deal.II-based framework on Stampede2 by loading 
> the deal.II module, e.g.:
>
> module load dealii/9.2.0
> I have no errors when compiling the core library. But when I do "cmake" 
> for any particular application  I run into the following errors (which also 
> cause "make" to fail):
>
> *CMake Warning at CMakeLists.txt:60 (ADD_EXECUTABLE):*
>  * Cannot generate a safe runtime search path for target main because 
> there is*
> *  a cycle in the constraint graph:*
>
> *    dir 0 is [/home1/apps/intel18/impi18_0/dealii/9.2.0/lib]*
> *    dir 1 is [/opt/apps/intel18/metis/5.0.2/lib]*
> *      dir 9 must precede it due to runtime library [libmetis.so]*
> *    dir 2 is [/home1/apps/intel18/impi18_0/trilinos/12.18.1/lib]*
> *    dir 3 is [/opt/apps/intel18/boost/1.68/lib]*
> *    dir 4 is 
> [/opt/apps/intel18/impi18_0/parallel-netcdf/4.6.2/x86_64/lib]*
> *    dir 5 is 
> [/opt/intel/compilers_and_libraries_2018.2.199/linux/mpi/intel64/lib]*
> *    dir 6 is [/opt/apps/intel18/gsl/2.6/lib]*
> *    dir 7 is [/home1/apps/intel18/impi18_0/p4est/2.0/lib]*
> *    dir 8 is [/home1/apps/intel18/impi18_0/slepc/3.11/skylake/lib]*
> *    dir 9 is [/home1/apps/intel18/impi18_0/petsc/3.11/skylake/lib]*
> *      dir 1 must precede it due to runtime library [libmetis.so]*
> *    dir 10 is [/opt/apps/intel18/impi18_0/phdf5/1.10.4/x86_64/lib]*
> *    dir 11 is 
> [/opt/intel/compilers_and_libraries_2018.2.199/linux/mpi/intel64/lib/release_mt]*
>
> *  Some of these libraries may not be found correctly.*
>
> Does anyone know why this is happening and how to fix it? I also tried 
> including the option "-D 
> CMAKE_IGNORE_PATH=/home1/apps/intel18/impi18_0/petsc/3.11/skylake/lib"
>
> But that did not work. 
>
> By the way, this error does not occur if I manually install and use 
> deal.II on my home directory.
>
> I've copied the contents of my CMakeLists.txt file below.
>
> Thank you,
>
> David
>
> *##*
> *#  CMake script for the PRISMS-PF applications:*
> *##*
>
> *CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8)*
>
> *# Find deal.II installation*
> *FIND_PACKAGE(deal.II 8.3.0 REQUIRED*
> * HINTS ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR})*
>
> *# Check to make sure deal.II is configured with p4est*
> *IF(NOT ${DEAL_II_WITH_P4EST})*
> *  MESSAGE(FATAL_ERROR "\n"*
> *    "*** deal.II was not installed with p4est. ***\n\n"*
> *    “The p4est library is a mandatory prerequisite for PRISMS-PF. Please 
> consult the \n”*
> *    “user guide to confirm that deal.II and p4est were installed and 
> configured correctly.”*
> *    )*
> *ENDIF()*
>
> *DEAL_II_INITIALIZE_CACHED_VARIABLES()*
>
> *# Set up the debug, release, and run targets*
> *ADD_CUSTOM_TARGET(debug*
> *  COMMAND +env ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Debug 
> ${CMAKE_SOURCE_DIR}*
> *  COMMAND +env ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target all*
> *  COMMENT "Switch CMAKE_BUILD_TYPE to Debug"*
> *  )*
>
> *ADD_CUSTOM_TARGET(release*
> *  COMMAND +env ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Release 
> ${CMAKE_SOURCE_DIR}*
> *  COMMAND +env ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target all*
> *  COMMENT "Switch CMAKE_BUILD_TYPE to Release"*
> *  )*
>
> *ADD_CUSTOM_TARGET(run COMMAND main*
> *  COMMENT "Run with ${CMAKE_BUILD_TYPE} configuration"*
> *  )*
>
> *PROJECT(myapp)*
> *if (${CMAKE_BUILD_TYPE} MATCHES DebugRelease)*
> * SET(CMAKE_BUILD_TYPE Debug)*
> *endif()*
>
> *# Check if postprocess.cc and nucleation.cc exist and set preprocessor 
> variables*
> *if (EXISTS "postprocess.cc")*
> * add_definitions(-DPOSTPROCESS_FILE_EXISTS)*
> *endif()*
> *if (EXISTS "nucleation.cc")*
> * add_definitions(-DNUCLEATION_FILE_EXISTS)*
> *endif()*
>
> *# Append extra flags for the GNU compiler to suppress some warnings*
> *if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")*
> *        set(DEAL_II_CXX_FLAGS_DEBUG "${DEAL_II_CXX_FLAGS_DEBUG} 
> -Wno-maybe-uninitialized -Wno-unused-parameter -Wno-extra")*
> *        set(DEAL_II_CXX_FLAGS_RELEASE "${DEAL_II_CXX_FLAGS_RELEASE} 
> -Wno-maybe-uninitialized -Wno-unused-parameter -Wno-extra")*
> *        #set(DEAL_II_CXX_FLAGS_DEBUG "${DEAL_II_CXX_FLAGS_DEBUG} 
> -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comment 
> -Wno-unused-parameter -Wno-unused-variable -Wno-unused-but-set-variable")*
> *        #set(DEAL_II_CXX_FLAGS_RELEASE "${DEAL_II_CXX_FLAGS_RELEASE} 
> -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comment 
> -Wno-unused-parameter -Wno-unused-variable -Wno-unused-but-set-variable")*
> *endif()*
>
> *ADD_EXECUTABLE(main main.cc )*
>
> *DEAL_II_SETUP_TARGET(main)*
>
> *set(cmd "cmake")*
> *set(arg "CMakeLists.txt")*
> *set(dir ${PROJECT_SOURCE_DIR}/../..)*
> *EXECUTE_PROCESS(COMMAND ${cmd} ${arg}*
> * WORKING_DIRECTORY ${dir})*
>
> *set(cmd "make")*
>
> *EXECUTE_PROCESS(COMMAND ${cmd}*
> * WORKING_DIRECTORY ${dir})*
>
> *if (${CMAKE_BUILD_TYPE} STREQUAL "Release")*
> * TARGET_LINK_LIBRARIES(main ${CMAKE_SOURCE_DIR}/../../libprisms_pf.a)*
> *elseif(${CMAKE_BUILD_TYPE} STREQUAL "DebugRelease")*
> * TARGET_LINK_LIBRARIES(main ${CMAKE_SOURCE_DIR}/../../libprisms_pf.a)*
> *else()*
> * TARGET_LINK_LIBRARIES(main 
> ${CMAKE_SOURCE_DIR}/../../libprisms_pf_debug.a)*
> *endif()*
>
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/3ecea24b-fa7c-4994-96ed-ec5059b8349dn%40googlegroups.com.

Reply via email to