Hello community, here is the log from the commit of package sundials for openSUSE:Factory checked in at 2020-12-17 17:04:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sundials (Old) and /work/SRC/openSUSE:Factory/.sundials.new.5145 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sundials" Thu Dec 17 17:04:00 2020 rev:5 rq:855910 version:5.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/sundials/sundials.changes 2020-09-15 16:25:25.258431971 +0200 +++ /work/SRC/openSUSE:Factory/.sundials.new.5145/sundials.changes 2020-12-17 17:08:26.889919825 +0100 @@ -1,0 +2,27 @@ +Wed Dec 2 12:59:07 UTC 2020 - Atri Bhattacharya <badshah...@gmail.com> + +- Update to version 5.5.0: + * Refactored the SUNDIALS CMake build system to improve build + times by as much as 35%. + * CMake 3.12.0 or newer is now required. + * Users will likely see CMake deprecation warnings, and + potentially new errors when incompatible CMake options have + been set (previously, these would fail silently). + * SUNDIALS now exports CMake targets and installs a + SUNDIALSConfig.cmake file. + * Added support for SuperLU DIST 6.3.0+. +- Add sundials-link-pthread.patch: Link against pthread explicitly + to fix linking errors when `-Wl,--no-undefined` is added to the + linker flags; patch sent upstream. +- Add BuildRequires: suitesparse-devel and enable KLU solver; pass + appropriate options to cmake to make sure the klu library and + header is correctly found. +- Use cmake macros instead of manual cmake commands. +- Split out new libsundials_generic package with the + libsundials_generic shared library. +- Enable openmpi4 flavour. +- Run tests except for tests that fail due to floating point + errors in the tests themselves. +- Drop Group tags. + +------------------------------------------------------------------- Old: ---- sundials-5.3.0.tar.gz New: ---- sundials-5.5.0.tar.gz sundials-link-pthread.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sundials.spec ++++++ --- /var/tmp/diff_new_pack.sMANzk/_old 2020-12-17 17:08:27.725920656 +0100 +++ /var/tmp/diff_new_pack.sMANzk/_new 2020-12-17 17:08:27.729920659 +0100 @@ -24,9 +24,11 @@ %undefine DisOMPI1 %undefine DisOMPI2 %undefine DisOMPI3 +%undefine DisOMPI4 %else %define DisOMPI1 ExclusiveArch: do_not_build %define DisOMPI3 ExclusiveArch: do_not_build +%define DisOMPI4 ExclusiveArch: do_not_build %undefine DisOMPI2 %endif @@ -61,6 +63,12 @@ %{?DisOMPI3} %endif +%if "%{flavor}" == "openmpi4" +%global mpi_flavor openmpi +%define mpi_vers 4 +%{?DisOMPI4} +%endif + %{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}} %{?with_mpi:%{!?mpi_flavor:error "No MPI family specified!"}} @@ -90,26 +98,29 @@ %define shlib_arkode libsundials_arkode4%{?my_suffix} %define shlib_cvode libsundials_cvode5%{?my_suffix} %define shlib_cvodes libsundials_cvodes5%{?my_suffix} +%define shlib_generic libsundials_generic5%{?my_suffix} %define shlib_ida libsundials_ida5%{?my_suffix} %define shlib_idas libsundials_idas4%{?my_suffix} %define shlib_kinsol libsundials_kinsol5%{?my_suffix} %define shlib_nvec libsundials_nvec5%{?my_suffix} Name: %{package_name} -Version: 5.3.0 +Version: 5.5.0 Release: 0 Summary: Suite of nonlinear solvers # SUNDIALS is licensed under BSD with some additional (but unrestrictive) clauses. # Check the file 'LICENSE' for details. License: BSD-3-Clause -Group: System/Libraries URL: https://computation.llnl.gov/projects/sundials/ Source0: https://computation.llnl.gov/projects/sundials/download/%{pname}-%{version}.tar.gz +# PATCH-FIX-UPSTREAM sundials-link-pthread.patch badshah...@gmail.com -- Explicitly link against pthread to fix linking errors when `-Wl,--no-undefined` is added to the linker flags +Patch0: sundials-link-pthread.patch BuildRequires: blas-devel -BuildRequires: cmake +BuildRequires: cmake >= 3.12 BuildRequires: fdupes BuildRequires: gcc-fortran BuildRequires: lapack-devel +BuildRequires: suitesparse-devel %if %{with mpi} BuildRequires: %{mpi_flavor}%{?mpi_ext}-devel %if 0%{?suse_version} >= 1550 && %{flavor} != "mvapich2" @@ -131,10 +142,10 @@ %package devel Summary: Suite of nonlinear solvers (developer files) -Group: Development/Libraries/C and C++ Requires: %{shlib_arkode} = %{version} Requires: %{shlib_cvodes} = %{version} Requires: %{shlib_cvode} = %{version} +Requires: %{shlib_generic} = %{version} Requires: %{shlib_idas} = %{version} Requires: %{shlib_ida} = %{version} Requires: %{shlib_kinsol} = %{version} @@ -149,7 +160,6 @@ %package doc Summary: Suite of nonlinear solvers (documentation) -Group: Documentation/Other %description doc SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -159,7 +169,6 @@ %package -n %{shlib_main} Summary: Suite of nonlinear solvers - main shared libraries -Group: Productivity/Scientific/Math %description -n %{shlib_main} SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -169,7 +178,6 @@ %package -n %{shlib_arkode} Summary: Suite of nonlinear solvers - arkode shared libraries -Group: Productivity/Scientific/Math %description -n %{shlib_arkode} SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -179,7 +187,6 @@ %package -n %{shlib_cvode} Summary: Suite of nonlinear solvers - cvode shared libraries -Group: Productivity/Scientific/Math %description -n %{shlib_cvode} SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -189,7 +196,6 @@ %package -n %{shlib_cvodes} Summary: Suite of nonlinear solvers - cvodes shared libraries -Group: Productivity/Scientific/Math %description -n %{shlib_cvodes} SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -197,9 +203,17 @@ This package provides the shared libraries for SUNDIALS' cvodes solver. +%package -n %{shlib_generic} +Summary: Suite of nonlinear solvers - generic shared libraries + +%description -n %{shlib_generic} +SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers +for use in writing mathematical software. + +This package provides the shared libraries for SUNDIALS' generic solver. + %package -n %{shlib_ida} Summary: Suite of nonlinear solvers - ida shared libraries -Group: Productivity/Scientific/Math %description -n %{shlib_ida} SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -209,7 +223,6 @@ %package -n %{shlib_idas} Summary: Suite of nonlinear solvers - idas shared libraries -Group: Productivity/Scientific/Math %description -n %{shlib_idas} SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -219,7 +232,6 @@ %package -n %{shlib_kinsol} Summary: Suite of nonlinear solvers - kinsol shared libraries -Group: Productivity/Scientific/Math %description -n %{shlib_kinsol} SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -229,7 +241,6 @@ %package -n %{shlib_nvec} Summary: Suite of nonlinear solvers - nvec shared libraries -Group: Productivity/Scientific/Math %description -n %{shlib_nvec} SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers @@ -238,40 +249,29 @@ This package provides the shared libraries for SUNDIALS' nvec solvers. %prep -%setup -q -n %{pname}-%{version} +%autosetup -p1 -n %{pname}-%{version} %build -# CAN'T DIRECTLY USE %%cmake MACRO SINCE CUSTOM CMAKE_INSTALL_PREFIX IS NEEDED -mkdir -p build -pushd build -cmake .. \ +%cmake \ -DCMAKE_INSTALL_PREFIX=%{my_prefix} \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_C_FLAGS="${CFLAGS:-%optflags} -DNDEBUG" \ - -DCMAKE_CXX_FLAGS="${CXXFLAGS:-%optflags} -DNDEBUG" \ - -DCMAKE_Fortran_FLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}} -DNDEBUG" \ - -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ - -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed" \ - -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \ + -DCMAKE_INSTALL_LIBDIR=%{my_libdir} \ %if "%{?_lib}" == "lib64" -DLIB_SUFFIX=64 \ %endif - -DCMAKE_SKIP_RPATH:BOOL=ON \ - -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ - -DBUILD_SHARED_LIBS:BOOL=ON \ - -DBUILD_STATIC_LIBS:BOOL=OFF \ - -DCMAKE_COLOR_MAKEFILE:BOOL=OFF \ - -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \ - -DBLAS_ENABLE:BOOL=ON \ - -DLAPACK_ENABLE:BOOL=ON \ - -DPTHREAD_ENABLE:BOOL=ON \ + -DCMAKE_SKIP_RPATH:BOOL=OFF \ + -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \ + -DENABLE_LAPACK:BOOL=ON \ + -DENABLE_PTHREAD:BOOL=ON \ + -DENABLE_KLU:BOOL=ON \ + -DKLU_INCLUDE_DIR:PATH=%{_includedir}/suitesparse \ + -DKLU_LIBRARY_DIR:PATH=%{_libdir} \ -DSUNDIALS_BUILD_WITH_MONITORING:BOOL=ON \ %if %{without mpi} -DEXAMPLES_INSTALL_PATH=%{_docdir}/%{name}/examples \ - -DMPI_ENABLE:BOOL=OFF + -DENABLE_MPI:BOOL=OFF %else -DEXAMPLES_INSTALL:BOOL=OFF \ - -DMPI_ENABLE:BOOL=ON \ + -DENABLE_MPI:BOOL=ON \ -DMPI_C_COMPILER=%{my_bindir}/mpicc \ -DMPI_CXX_COMPILER=%{my_bindir}/mpicxx \ -DMPI_Fortran_COMPILER=%{my_bindir}/mpif90 \ @@ -279,16 +279,25 @@ %endif %cmake_build -popd %install -# SUNDIALS does not support the 'DESTDIR' method, hence: %cmake_install rm %{buildroot}%{my_incdir}/sundials/{NOTICE,LICENSE} %fdupes %{buildroot} +%check +# Send extremely verbose output to a log file instead of printing to screen to avoid build log bloat +# Disable the sunlinsol tests which fail apparently due to minor floating pt issues +# On 32-bit, also disable the sunmatrix tests which fail due to minor floating pt issues +export LD_LIBRARY_PATH=%{my_libdir} +%ifarch %ix86 +%ctest --quiet --output-log test-output.log --exclude-regex "test_(sunlinsol_lapack|sunmatrix_sparse)*" || ( grep "Fail" test-output.log; exit 1 ) +%else +%ctest --quiet --output-log test-output.log --exclude-regex "test_sunlinsol_lapack*" || ( grep "Fail" test-output.log; exit 1; ) +%endif + %post -n %{shlib_main} -p /sbin/ldconfig %postun -n %{shlib_main} -p /sbin/ldconfig @@ -301,6 +310,9 @@ %post -n %{shlib_cvodes} -p /sbin/ldconfig %postun -n %{shlib_cvodes} -p /sbin/ldconfig +%post -n %{shlib_generic} -p /sbin/ldconfig +%postun -n %{shlib_generic} -p /sbin/ldconfig + %post -n %{shlib_ida} -p /sbin/ldconfig %postun -n %{shlib_ida} -p /sbin/ldconfig @@ -331,6 +343,10 @@ %doc README.md CONTRIBUTING.md NOTICE %{my_libdir}/*.so %{my_incdir}/* +%if %{with mpi} +%dir %{my_libdir}/cmake +%endif +%{my_libdir}/cmake/sundials/ %files -n %{shlib_main} %{my_libdir}/libsundials_sun*.so.* @@ -346,6 +362,9 @@ %files -n %{shlib_cvodes} %{my_libdir}/libsundials_cvodes.so.* +%files -n %{shlib_generic} +%{my_libdir}/libsundials_generic.so.* + %files -n %{shlib_ida} %{my_libdir}/libsundials_ida.so.* ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.sMANzk/_old 2020-12-17 17:08:27.757920687 +0100 +++ /var/tmp/diff_new_pack.sMANzk/_new 2020-12-17 17:08:27.761920690 +0100 @@ -3,5 +3,6 @@ <package>openmpi1</package> <package>openmpi2</package> <package>openmpi3</package> + <package>openmpi4</package> <package>mvapich2</package> </multibuild> ++++++ sundials-5.3.0.tar.gz -> sundials-5.5.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/sundials/sundials-5.3.0.tar.gz /work/SRC/openSUSE:Factory/.sundials.new.5145/sundials-5.5.0.tar.gz differ: char 5, line 1 ++++++ sundials-link-pthread.patch ++++++ Index: sundials-5.5.0/src/nvector/pthreads/CMakeLists.txt =================================================================== --- sundials-5.5.0.orig/src/nvector/pthreads/CMakeLists.txt +++ sundials-5.5.0/src/nvector/pthreads/CMakeLists.txt @@ -27,6 +27,8 @@ sundials_add_library(sundials_nvecpthrea nvector_pthreads.c OBJECT_LIBRARIES sundials_generic_obj + LINK_LIBRARIES + PRIVATE pthread OUTPUT_NAME sundials_nvecpthreads VERSION _______________________________________________ openSUSE Commits mailing list -- commit@lists.opensuse.org To unsubscribe, email commit-le...@lists.opensuse.org List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/commit@lists.opensuse.org