diff --git a/sundials-disable_petsc_tests.patch b/sundials-disable_petsc_tests.patch new file mode 100644 index 0000000..8541dee --- /dev/null +++ b/sundials-disable_petsc_tests.patch @@ -0,0 +1,75 @@ +--- a/config/SundialsPETSc.cmake ++++ b/config/SundialsPETSc.cmake +@@ -25,49 +25,4 @@ + # set PETSC_LIBRARIES + include(FindPETSc) + +-# If we have the PETSC libraries, test them +-if(PETSC_LIBRARIES) +- message(STATUS "Looking for PETSc libraries...") +- # Create the PETSCTest directory +- set(PETSCTest_DIR ${PROJECT_BINARY_DIR}/PETSCTest) +- file(MAKE_DIRECTORY ${PETSCTest_DIR}) +- # Create a CMakeLists.txt file +- file(WRITE ${PETSCTest_DIR}/CMakeLists.txt +- "CMAKE_MINIMUM_REQUIRED(VERSION 3.0.2)\n" +- "PROJECT(ltest C)\n" +- "SET(CMAKE_VERBOSE_MAKEFILE ON)\n" +- "SET(CMAKE_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\")\n" +- "SET(CMAKE_C_COMPILER ${MPI_C_COMPILER})\n" +- "SET(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS}\")\n" +- "SET(CMAKE_C_FLAGS_RELEASE \"${CMAKE_C_FLAGS_RELEASE}\")\n" +- "SET(CMAKE_C_FLAGS_DEBUG \"${CMAKE_C_FLAGS_DEBUG}\")\n" +- "SET(CMAKE_C_FLAGS_RELWITHDEBUGINFO \"${CMAKE_C_FLAGS_RELWITHDEBUGINFO}\")\n" +- "SET(CMAKE_C_FLAGS_MINSIZE \"${CMAKE_C_FLAGS_MINSIZE}\")\n" +- "INCLUDE_DIRECTORIES(${PETSC_INCLUDE_DIR})\n" +- "ADD_EXECUTABLE(ltest ltest.c)\n" +- "TARGET_LINK_LIBRARIES(ltest ${PETSC_LIBRARIES})\n") +- # Create a C source file which calls a PETSC function +- file(WRITE ${PETSCTest_DIR}/ltest.c +- "\#include \"petscvec.h\"\n" +- "int main(){\n" +- "Vec x;\n" +- "VecCreate(PETSC_COMM_WORLD, &x);\n" +- "return(0);\n" +- "}\n") +- # Attempt to link the "ltest" executable +- try_compile(LTEST_OK ${PETSCTest_DIR} ${PETSCTest_DIR} ltest OUTPUT_VARIABLE MY_OUTPUT) +- +- # To ensure we do not use stuff from the previous attempts, +- # we must remove the CMakeFiles directory. +- file(REMOVE_RECURSE ${PETSCTest_DIR}/CMakeFiles) +- # Process test result +- if(LTEST_OK) +- message(STATUS "Checking if PETSc works... OK") +- set(PETSC_FOUND TRUE) +- else(LTEST_OK) +- message(STATUS "Checking if PETSc works... FAILED") +- endif(LTEST_OK) +-else(PETSC_LIBRARIES) +- PRINT_WARNING("PETSC LIBRARIES NOT Found. Please check library path" "${PETSC_LIBRARY_DIR} ") +- message(STATUS "Looking for PETSc libraries... FAILED") +-endif(PETSC_LIBRARIES) ++set(PETSC_FOUND TRUE) +--- a/examples/ida/petsc/CMakeLists.txt ++++ b/examples/ida/petsc/CMakeLists.txt +@@ -19,8 +19,6 @@ + + # Examples using SUNDIALS linear solvers + SET(IDA_examples +- #"idaHeat2D_jac_petsc\;1\;4" # Not to be released in 2.7.0 +- "idaHeat2D_kry_petsc\;1\;4\;develop" + ) + + IF(MPI_C_COMPILER) +--- a/examples/nvector/petsc/CMakeLists.txt ++++ b/examples/nvector/petsc/CMakeLists.txt +@@ -19,8 +19,6 @@ + + # Examples using SUNDIALS PETSc nvector + SET(nvector_petsc_examples +- "test_nvector_petsc\;1000 0\;\;\;" # run sequentially +- "test_nvector_petsc\;1000 0\;1\;4\;" # run 4 procs + ) + + # Dependencies for nvector examples diff --git a/sundials.spec b/sundials.spec index 28cacef..6c0ab93 100644 --- a/sundials.spec +++ b/sundials.spec @@ -51,6 +51,10 @@ Patch0: %{name}-3.1.1-set_superlumt_name.patch # This patch rename superLUMT64 library Patch1: %{name}-3.1.1-set_superlumt64_name.patch +# PETSc libraries unrecognized for unknown reasons +# This patch disables the PETSc tests of CMake +Patch2: %{name}-disable_petsc_tests.patch + %if 0%{?with_fortran} BuildRequires: gcc-gfortran %endif @@ -103,6 +107,7 @@ BuildRequires: hypre-openmpi-devel %if 0%{?with_petsc} BuildRequires: petsc-openmpi-devel >= 3.10 BuildRequires: scalapack-openmpi-devel +BuildRequires: hdf5-openmpi-devel %endif Requires: openmpi%{?_isa} @@ -136,6 +141,7 @@ BuildRequires: hypre-mpich-devel %if 0%{?with_petsc} BuildRequires: petsc-mpich-devel >= 3.10 BuildRequires: scalapack-mpich-devel +BuildRequires: hdf5-mpich-devel %endif Requires: mpich%{?_isa} %if 0%{?with_fortran} @@ -180,6 +186,8 @@ pushd sundials-%{version} %patch0 -p0 %endif +%patch2 -p1 -b .disable_petsc_tests + ##Set serial library's paths sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/nvector|g' src/nvector/serial/CMakeLists.txt sed -i 's|DESTINATION include/nvector|DESTINATION %{_includedir}/nvector|g' src/nvector/openmp/CMakeLists.txt @@ -655,8 +663,7 @@ popd %{_libdir}/libsundials_fsunlinsol*.so %{_libdir}/libsundials_fsunnonlinsol*.so %endif -%dir %{_includedir}/sundials -%{_includedir}/sundials/sundials_config.h +%{_includedir}/sundials/ %{_includedir}/nvector/ %{_includedir}/sunmatrix/ %{_includedir}/sunlinsol/ @@ -807,6 +814,7 @@ popd %changelog * Wed Jun 26 2019 Antonio Trande - 4.1.0-3 - Do not use curly brackets under %%files +- PETSc needs HDF5 * Thu Apr 25 2019 Antonio Trande - 4.1.0-2 - Reorganization of the files