The package rpms/sundials.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/sundials.git/commit/?id=596e8b54b....
Change:
-%ifnarch s390 s390x ppc64 ppc64le
Thanks.
Full change:
============
commit 596e8b54b3e6934d65df56db9d1b5407023684d9
Author: sagitter <sagitter(a)fedoraproject.org>
Date: Wed Jun 6 11:37:24 2018 +0200
Use SuperLUMT64 on 64bit systems
diff --git a/sundials-3.1.1-set_superlumt64_name.patch
b/sundials-3.1.1-set_superlumt64_name.patch
new file mode 100644
index 0000000..ebbc062
--- /dev/null
+++ b/sundials-3.1.1-set_superlumt64_name.patch
@@ -0,0 +1,11 @@
+--- config/FindSUPERLUMT.orig.cmake 2016-09-27 00:16:47.000000000 +0200
++++ config/FindSUPERLUMT.cmake 2016-10-04 12:08:58.202988791 +0200
+@@ -44,7 +44,7 @@
+ set(SUPERLUMT_LIBRARY_DIR ${SUPERLUMT_LIBRARY_DIR} CACHE PATH "" FORCE)
+ else()
+ # find library with user provided directory path
+- set(SUPERLUMT_LIBRARY_NAME superlu_mt_${POST})
++ set(SUPERLUMT_LIBRARY_NAME superlumt64_d)
+ find_library(SUPERLUMT_LIBRARY ${SUPERLUMT_LIBRARY_NAME} ${SUPERLUMT_LIBRARY_DIR}
NO_DEFAULT_PATH)
+ endif()
+ mark_as_advanced(SUPERLUMT_LIBRARY)
diff --git a/sundials.spec b/sundials.spec
index 598b93c..c63741e 100644
--- a/sundials.spec
+++ b/sundials.spec
@@ -49,7 +49,7 @@
Summary: Suite of nonlinear solvers
Name: sundials
Version: 3.1.1
-Release: 1%{?dist}
+Release: 2%{?dist}
# SUNDIALS is licensed under BSD with some additional (but unrestrictive) clauses.
# Check the file 'LICENSE' for details.
License: BSD
@@ -58,15 +58,20 @@ URL:
http://www.llnl.gov/casc/sundials/
Source0:
https://computation.llnl.gov/projects/sundials/download/sundials-%{versio...
# This patch rename superLUMT library
-Patch0: %{name}-%{version}-set_superlumt_name.patch
+Patch0: %{name}-3.1.1-set_superlumt_name.patch
-BuildRequires: gcc-gfortran
+# This patch rename superLUMT64 library
+Patch1: %{name}-3.1.1-set_superlumt64_name.patch
+
+BuildRequires: gcc-gfortran, python2-devel
BuildRequires: suitesparse-devel
%if 0%{?rhel}
-BuildRequires: cmake3, epel-rpm-macros
+BuildRequires: cmake3, epel-rpm-macros
+%global ctest3 ctest3
%else
-BuildRequires: cmake
-%global cmake3 %{cmake}
+BuildRequires: cmake
+%global cmake3 %cmake
+%global ctest3 ctest
%endif
%ifarch %{openblas_arches}
BuildRequires: openblas-devel, openblas-srpm-macros
@@ -74,14 +79,17 @@ BuildRequires: openblas-devel, openblas-srpm-macros
BuildRequires: blas-devel, lapack-devel
%endif
-# SuperLUMT is unavailable on following architectures
-%ifnarch %{power64} aarch64
+%ifarch s390x x86_64
+BuildRequires: SuperLUMT64-devel
+%endif
+%ifarch %{arm} %{ix86}
BuildRequires: SuperLUMT-devel
%endif
%if 0%{?rhel}
BuildRequires: rsh
%endif
Requires: gcc-gfortran%{?_isa}
+Obsoletes: %{name}-samples%{?_isa} < 3.1.1
%description
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
@@ -102,15 +110,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
This package contains the developer files (.so file, header files).
-
-%package samples
-Summary: Suite of nonlinear solvers (example files)
-Group: Development/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
-%description samples
-SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
-for use in writing mathematical software.
-This package contains the C, CXX, F77 example files.
#############################################################################
#########
%if 0%{?with_openmpi}
@@ -128,6 +127,8 @@ BuildRequires: hypre-openmpi-devel
Requires: openmpi
Requires: gcc-gfortran%{?_isa}
+Obsoletes: %{name}-openmpi-samples%{?_isa} < 3.1.1
+
%description openmpi
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
@@ -142,15 +143,6 @@ SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation
Solvers
for use in writing mathematical software.
This package contains the Sundials parallel OpenMPI devel libraries and
header files.
-
-%package openmpi-samples
-Summary: Suite of nonlinear solvers (example files)
-Group: Development/Libraries
-Requires: %{name}-openmpi%{?_isa} = %{version}-%{release}
-%description openmpi-samples
-SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
-for use in writing mathematical software.
-This package contains the C, CXX, F77 example files.
%endif
######
###############################################################################
@@ -169,6 +161,8 @@ BuildRequires: hypre-mpich-devel
%endif
Requires: mpich
Requires: gcc-gfortran%{?_isa}
+Obsoletes: %{name}-mpich-samples%{?_isa} < 3.1.1
+
%description mpich
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
@@ -183,15 +177,6 @@ SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation
Solvers
for use in writing mathematical software.
This package contains the Sundials parallel MPICH devel libraries and
header files.
-
-%package mpich-samples
-Summary: Suite of nonlinear solvers (example files)
-Group: Development/Libraries
-Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
-%description mpich-samples
-SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
-for use in writing mathematical software.
-This package contains the C, CXX, F77 example files.
%endif
######
#############################################################################
@@ -210,7 +195,10 @@ This package contains the documentation files.
pushd sundials-%{version}
-%ifnarch %{power64} aarch64
+%ifarch s390x x86_64
+%patch1 -p0
+%endif
+%ifarch %{arm} %{ix86}
%patch0 -p0
%endif
@@ -280,9 +268,14 @@ export LIBLAPACKLINK=-llapack
export LIBLAPACK=liblapack
export INCBLAS=-I%{_includedir}
%endif
-%ifnarch %{power64} aarch64
+
+%ifarch s390x x86_64
+export LIBSUPERLUMTLINK=-lsuperlumt64_d
+%endif
+%ifarch %{arm} %{ix86}
export LIBSUPERLUMTLINK=-lsuperlumt_d
-%else
+%endif
+%ifnarch s390x x86_64 %{arm} %{ix86}
export LIBSUPERLUMTLINK=
%endif
@@ -296,7 +289,11 @@ cmake \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} -Wl,-z,now
-Wl,--as-needed -lklu $LIBBLASLINK $LIBLAPACKLINK $LIBSUPERLUMTLINK" \
%else
%{cmake3} \
+%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
-DSUNDIALS_INDEX_TYPE:STRING=int64_t \
+%else
+ -DSUNDIALS_INDEX_TYPE:STRING=int32_t \
+%endif
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now
-Wl,--as-needed" \
@@ -315,6 +312,7 @@ cmake \
%endif
-DCMAKE_MODULE_LINKER_FLAGS:STRING="%{__global_ldflags} -Wl,-z,now
-Wl,--as-needed" \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
+ -DPYTHON_EXECUTABLE:FILEPATH=%{__python2} \
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON -DEXAMPLES_ENABLE_F77:BOOL=ON
\
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF \
@@ -370,9 +368,13 @@ export INCBLAS=-I%{_includedir}
%endif
##
## SuperLUMT
-%ifnarch %{power64} aarch64
+%ifarch s390x x86_64
+export LIBSUPERLUMTLINK=-lsuperlumt64_d
+%endif
+%ifarch %{arm} %{ix86}
export LIBSUPERLUMTLINK=-lsuperlumt_d
-%else
+%endif
+%ifnarch s390x x86_64 %{arm} %{ix86}
export LIBSUPERLUMTLINK=
%endif
## Hypre
@@ -403,7 +405,11 @@ cmake \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} -Wl,-z,now
-Wl,--as-needed -lklu $LIBLAPACKLINK $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
%else
%{cmake3} \
+%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
-DSUNDIALS_INDEX_TYPE:STRING=int64_t \
+%else
+ -DSUNDIALS_INDEX_TYPE:STRING=int32_t \
+%endif
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now
-Wl,--as-needed" \
@@ -421,6 +427,7 @@ cmake \
-DLAPACK_LIBRARIES:STRING=%{_libdir}/$LIBLAPACK.so \
%endif
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
+ -DPYTHON_EXECUTABLE:FILEPATH=%{__python2} \
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON -DEXAMPLES_ENABLE_F77:BOOL=ON
\
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF \
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
@@ -503,9 +510,13 @@ export INCBLAS=-I%{_includedir}
%endif
##
## SuperLUMT
-%ifnarch %{power64} aarch64
+%ifarch s390x x86_64
+export LIBSUPERLUMTLINK=-lsuperlumt64_d
+%endif
+%ifarch %{arm} %{ix86}
export LIBSUPERLUMTLINK=-lsuperlumt_d
-%else
+%endif
+%ifnarch s390x x86_64 %{arm} %{ix86}
export LIBSUPERLUMTLINK=
%endif
## Hypre
@@ -536,7 +547,11 @@ cmake \
-DCMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING="%{__global_ldflags} -Wl,-z,now
-Wl,--as-needed -lklu $LIBLAPACKLINK $LIBBLASLINK $LIBSUPERLUMTLINK $LIBHYPRELINK" \
%else
%{cmake3} \
+%if %{?__isa_bits:%{__isa_bits}}%{!?__isa_bits:32} == 64
-DSUNDIALS_INDEX_TYPE:STRING=int64_t \
+%else
+ -DSUNDIALS_INDEX_TYPE:STRING=int32_t \
+%endif
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now
-Wl,--as-needed" \
@@ -554,6 +569,7 @@ cmake \
-DLAPACK_LIBRARIES:STRING=%{_libdir}/$LIBLAPACK.so \
%endif
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
+ -DPYTHON_EXECUTABLE:FILEPATH=%{__python2} \
-DEXAMPLES_ENABLE_CXX:BOOL=ON -DEXAMPLES_ENABLE_C:BOOL=ON -DEXAMPLES_ENABLE_F77:BOOL=ON
\
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF \
-DCMAKE_SKIP_RPATH:BOOL=YES -DCMAKE_SKIP_INSTALL_RPATH:BOOL=YES \
@@ -609,28 +625,12 @@ popd
%if 0%{?with_openmpi}
%{_openmpi_load}
%make_install -C buildopenmpi_dir/build
-
-mkdir -p %{buildroot}$MPI_LIB/sundials-%{version}
-cp -a buildopenmpi_dir/build/examples %{buildroot}$MPI_LIB/sundials-%{version}/
-
-## Remove CMake files
-for i in `find %{buildroot}$MPI_LIB/sundials-%{version}/examples -perm /644 -type f \(
-name "*Makefile*" \)`; do
- rm -rf $i
-done
%{_openmpi_unload}
%endif
%if 0%{?with_mpich}
%{_mpich_load}
%make_install -C buildmpich_dir/build
-
-mkdir -p %{buildroot}$MPI_LIB/sundials-%{version}
-cp -a buildmpich_dir/build/examples %{buildroot}$MPI_LIB/sundials-%{version}/
-
-## Remove CMake files
-for i in `find %{buildroot}$MPI_LIB/sundials-%{version}/examples -perm /644 -type f \(
-name "*Makefile*" \)`; do
- rm -rf $i
-done
%{_mpich_unload}
%endif
@@ -639,151 +639,36 @@ done
# Remove static libraries
rm -f %{buildroot}%{_libdir}/*.a
-mkdir -p %{buildroot}%{_libexecdir}/sundials-%{version}
-cp -a sundials-%{version}/build/examples %{buildroot}%{_libexecdir}/sundials-%{version}/
-
-## Remove CMake files
-for i in `find %{buildroot}%{_libexecdir}/sundials-%{version}/examples -perm /644 -type f
\( -name "*Makefile*" \)`; do
- rm -rf $i
-done
-
# Remove file in a bad position
rm -f %{buildroot}%{_prefix}/LICENSE
%ldconfig_scriptlets
%check
-
%if 0%{?with_parcheck}
%if 0%{?with_openmpi}
%{_openmpi_load}
+pushd buildopenmpi_dir/build
export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:%{buildroot}%{_libdir}
-##cvode
-buildopenmpi_dir/build/examples/cvode/parallel/cvAdvDiff_diag_p
-
-##cvodes
-mpirun -np 2 buildopenmpi_dir/build/examples/cvodes/parallel/cvsAdvDiff_ASAp_non_p
-
-#ida
-mpirun -np 4 buildopenmpi_dir/build/examples/ida/parallel/idaFoodWeb_kry_bbd_p
-
-#idas
-mpirun -np 4 buildopenmpi_dir/build/examples/idas/parallel/idasBruss_ASAp_kry_bbd_p
-
-#kinsol
-mpirun -np 4 buildopenmpi_dir/build/examples/kinsol/parallel/kinFoodWeb_kry_bbd_p
-
-#nvector
-mpirun buildopenmpi_dir/build/examples/nvector/parallel/test_nvector_mpi
+%ctest3 --force-new-ctest-process -VV
+popd
%{_openmpi_unload}
%endif ##if openmpi
%if 0%{?with_mpich}
-## Tests not perfomred due to 'gethostname' failure on koji
+%{_mpich_load}
+pushd buildmpich_dir/build
+export LD_LIBRARY_PATH=%{buildroot}$MPI_LIB:%{buildroot}%{_libdir}
+%ctest3 --force-new-ctest-process -VV
+popd
+%{_mpich_unload}
%endif ##if openmpi
%endif ## if with_parcheck
%if 0%{?with_sercheck}
-pushd sundials-%{version}/build/examples
-export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
-##arkode
-cd arkode/C_serial
-./ark_analytic
-./ark_analytic_nonlin
-./ark_brusselator
-./ark_brusselator1D
-./ark_brusselator_fp
-./ark_heat1D
-./ark_KrylovDemo_prec
-./ark_robertson
-./ark_robertson_root
-
-cd ../F77_serial
-./fark_diurnal_kry_bp
-cd ../..
-##cvode
-cd cvode/fcmix_serial
-%ifnarch s390 s390x ppc64 ppc64le
-./fcvAdvDiff_bnd
-./fcvDiurnal_kry
-./fcvDiurnal_kry_bp
-./fcvRoberts_dns
-%endif
-
-cd ../serial
-./cvAdvDiff_bnd
-./cvDirectDemo_ls
-./cvDiurnal_kry
-./cvDiurnal_kry_bp
-./cvKrylovDemo_ls
-./cvKrylovDemo_prec
-./cvRoberts_dns
-./cvRoberts_dns_uw
-cd ../..
-##cvodes
-cd cvodes/serial
-./cvsAdvDiff_ASAi_bnd
-./cvsAdvDiff_bnd
-./cvsAdvDiff_FSA_non
-./cvsDirectDemo_ls
-./cvsDiurnal_FSA_kry
-./cvsDiurnal_kry
-./cvsDiurnal_kry_bp
-./cvsFoodWeb_ASAi_kry
-./cvsFoodWeb_ASAp_kry
-./cvsHessian_ASA_FSA
-./cvsKrylovDemo_ls
-./cvsKrylovDemo_prec
-./cvsRoberts_ASAi_dns
-./cvsRoberts_dns
-./cvsRoberts_dns_uw
-./cvsRoberts_FSA_dns
-cd ../..
-##ida
-cd ida/fcmix_pthreads
-%ifnarch s390 s390x ppc64 ppc64le
-./fidaRoberts_dns_pthreads
-cd ../fcmix_serial
-./fidaRoberts_dns
-%endif
-cd ../serial
-./idaFoodWeb_bnd
-./idaHeat2D_bnd
-./idaHeat2D_kry
-./idaKrylovDemo_ls
-./idaRoberts_dns
-./idaSlCrank_dns
-cd ../..
-##idas
-cd idas/serial
-./idasAkzoNob_ASAi_dns
-./idasAkzoNob_dns
-./idasFoodWeb_bnd
-./idasHeat2D_bnd
-./idasHeat2D_kry
-./idasHessian_ASA_FSA
-./idasKrylovDemo_ls
-./idasRoberts_ASAi_dns
-./idasRoberts_dns
-./idasRoberts_FSA_dns
-./idasSlCrank_dns
-./idasSlCrank_FSA_dns
-cd ../..
-##kinsol
-cd kinsol/fcmix_serial
-cd ../serial
-./kinFerTron_dns
-./kinFoodWeb_kry
-./kinLaplace_bnd
-./kinLaplace_picard_bnd
-./kinRoberts_fp
-./kinRoboKin_dns
-cd ../..
-##nvector
-cd nvector/pthreads
-./test_nvector_pthreads 5000 4 1
-cd ../serial
-./test_nvector_serial 5000 4 1
+pushd sundials-%{version}/build
+export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
+%ctest3 --force-new-ctest-process -VV
popd
%endif ##if with_sercheck
@@ -844,9 +729,6 @@ popd
%{_includedir}/sunlinsol/
%{_includedir}/sunmatrix/
-%files samples
-%{_libexecdir}/sundials-%{version}/
-
%if 0%{?with_openmpi}
%files openmpi
%license sundials-%{version}/LICENSE
@@ -872,9 +754,6 @@ popd
%{_libdir}/openmpi/lib/libsundials_nvecparhyp.so
%endif
%endif
-
-%files openmpi-samples
-%{_libdir}/openmpi/lib/sundials-%{version}/
%endif
%if 0%{?with_mpich}
@@ -890,7 +769,6 @@ popd
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so.*
%endif
%endif
-%{_libdir}/mpich/lib/sundials-%{version}/
%files mpich-devel
%{_includedir}/mpich-%{_arch}/nvector/nvector_parallel.h
@@ -903,12 +781,13 @@ popd
%{_libdir}/mpich/lib/libsundials_nvecparhyp.so
%endif
%endif
-
-%files mpich-samples
-%{_libdir}/mpich/lib/sundials-%{version}/
%endif
%changelog
+* Wed Jun 06 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.1-2
+- Do not pack examples
+- Use SuperLUMT64 on 64bit systems
+
* Sun May 13 2018 Antonio Trande <sagitterATfedoraproject.org> - 3.1.1-1
- Update to 3.1.1