Fixes for EPEL7

This commit is contained in:
sagitter 2015-11-12 20:23:25 +01:00
parent 1d970ce412
commit 4b0b0a4aea
1 changed files with 28 additions and 67 deletions

View File

@ -20,7 +20,7 @@
%endif %endif
%endif %endif
%if 0%{?fedora} > 21 %if ( 0%{?fedora} && 0%{?fedora} > 21 ) || ( 0%{?epel} && 0%{?epel} > 6 )
%global with_parcheck 1 %global with_parcheck 1
%global with_sercheck 1 %global with_sercheck 1
%endif %endif
@ -28,7 +28,7 @@
Summary: Suite of nonlinear solvers Summary: Suite of nonlinear solvers
Name: sundials Name: sundials
Version: 2.6.2 Version: 2.6.2
Release: 10%{?dist} Release: 11%{?dist}
# SUNDIALS is licensed under BSD with some additional (but unrestrictive) clauses. # SUNDIALS is licensed under BSD with some additional (but unrestrictive) clauses.
# Check the file 'LICENSE' for details. # Check the file 'LICENSE' for details.
License: BSD License: BSD
@ -90,8 +90,6 @@ for use in writing mathematical software.
This package contains the Sundials parallel OpenMPI devel libraries and This package contains the Sundials parallel OpenMPI devel libraries and
header files. header files.
%if 0%{?fedora} <= 22
%ifarch %ix86
%package fortran-openmpi %package fortran-openmpi
Summary: Suite of nonlinear solvers Summary: Suite of nonlinear solvers
Group: Development/Libraries Group: Development/Libraries
@ -113,31 +111,6 @@ for use in writing mathematical software.
This package contains the Sundials Fortran parallel OpenMPI devel libraries and This package contains the Sundials Fortran parallel OpenMPI devel libraries and
header files. header files.
%endif %endif
%endif
%if 0%{?fedora} > 22
%package fortran-openmpi
Summary: Suite of nonlinear solvers
Group: Development/Libraries
Requires: gcc-gfortran%{?_isa}
%description fortran-openmpi
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
This package contains the Sundials Fortran parallel OpenMPI libraries.
%package fortran-openmpi-devel
Summary: Suite of nonlinear solvers
Group: Development/Libraries
Requires: %{name}-fortran-openmpi%{?_isa} = %{version}-%{release}
%description fortran-openmpi-devel
SUNDIALS is a SUite of Non-linear DIfferential/ALgebraic equation Solvers
for use in writing mathematical software.
This package contains the Sundials Fortran parallel OpenMPI devel libraries and
header files.
%endif
%endif
%package fortran %package fortran
Summary: Suite of nonlinear solvers (static libraries) Summary: Suite of nonlinear solvers (static libraries)
@ -263,12 +236,12 @@ mv src/nvec_pthreads/README src/README-nvec_pthreads
%if 0%{?with_openmpi} %if 0%{?with_openmpi}
mkdir buildparallel_dir && pushd buildparallel_dir mkdir buildparallel_dir && pushd buildparallel_dir
%{_openmpi_load} %{_openmpi_load}
export LDFLAGS="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed -lpthread" export LDFLAGS=" -Wl,--as-needed -lpthread"
%cmake \ %cmake \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=Release \ -DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now" \ -DCMAKE_C_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now" \
-DCMAKE_MODULE_LINKER_FLAGS:STRING="%{__global_ldflags} -Wl,-z,now" \ -DCMAKE_MODULE_LINKER_FLAGS:STRING=" " \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DEXAMPLES_ENABLE=ON -DEXAMPLES_INSTALL=OFF \ -DEXAMPLES_ENABLE=ON -DEXAMPLES_INSTALL=OFF \
-DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF \ -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF \
@ -276,10 +249,14 @@ export LDFLAGS="%{__global_ldflags} -Wl,-z,now -Wl,--as-needed -lpthread"
-DMPI_ENABLE:BOLL=ON \ -DMPI_ENABLE:BOLL=ON \
-DMPI_MPICC:STRING=%{_libdir}/openmpi/bin/mpicc \ -DMPI_MPICC:STRING=%{_libdir}/openmpi/bin/mpicc \
-DMPI_RUN_COMMAND=mpirun \ -DMPI_RUN_COMMAND=mpirun \
%if 0%{?fedora}
-DMPI_MPIF77:STRING=%{_libdir}/openmpi/bin/mpifort \
%else
-DMPI_MPIF77:STRING=%{_libdir}/openmpi/bin/mpif77 \ -DMPI_MPIF77:STRING=%{_libdir}/openmpi/bin/mpif77 \
%endif
-DFCMIX_ENABLE:BOOL=ON \ -DFCMIX_ENABLE:BOOL=ON \
-DCMAKE_Fortran_COMPILER:STRING=%{_bindir}/gfortran \ -DCMAKE_Fortran_COMPILER:STRING=%{_bindir}/gfortran \
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} %{__global_ldflags} -Wl,-z,now" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now" \
-DPTHREAD_ENABLE:BOOL=OFF \ -DPTHREAD_ENABLE:BOOL=OFF \
-DLAPACK_ENABLE:BOOL=ON -DSUPERLUMT_ENABLE:BOOL=OFF \ -DLAPACK_ENABLE:BOOL=ON -DSUPERLUMT_ENABLE:BOOL=OFF \
-DKLU_ENABLE:BOOL=OFF -Wno-dev .. -DKLU_ENABLE:BOOL=OFF -Wno-dev ..
@ -303,7 +280,7 @@ export LDFLAGS="%{__global_ldflags} -Wl,-z,now -lm"
-DMPI_ENABLE:BOLL=OFF \ -DMPI_ENABLE:BOLL=OFF \
-DFCMIX_ENABLE:BOOL=ON \ -DFCMIX_ENABLE:BOOL=ON \
-DCMAKE_Fortran_COMPILER:STRING=%{_bindir}/gfortran \ -DCMAKE_Fortran_COMPILER:STRING=%{_bindir}/gfortran \
-DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} %{__global_ldflags} -Wl,-z,now" \ -DCMAKE_Fortran_FLAGS_RELEASE:STRING="%{optflags} -Wl,-z,relro -Wl,-z,now" \
-DPTHREAD_ENABLE:BOOL=ON \ -DPTHREAD_ENABLE:BOOL=ON \
-DLAPACK_ENABLE:BOOL=ON -DSUPERLUMT_ENABLE:BOOL=OFF \ -DLAPACK_ENABLE:BOOL=ON -DSUPERLUMT_ENABLE:BOOL=OFF \
-DKLU_ENABLE:BOOL=OFF -Wno-dev .. -DKLU_ENABLE:BOOL=OFF -Wno-dev ..
@ -332,37 +309,29 @@ install -pm 644 sundials-pkgconfig_files/*.pc %{buildroot}%{_libdir}/pkgconfig
%if 0%{?with_openmpi} %if 0%{?with_openmpi}
%{_openmpi_load} %{_openmpi_load}
##arkode ##arkode
mpirun -wdir buildparallel_dir/examples/arkode/C_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} -np 4 ark_diurnal_kry_bbd_p mpirun -wdir buildparallel_dir/examples/arkode/C_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 ark_diurnal_kry_bbd_p
%if 0%{?fedora} > 22 mpirun -wdir buildparallel_dir/examples/arkode/F77_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_fmoddir}/openmpi-%{_arch}:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 fark_diag_kry_bbd_p
mpirun -wdir buildparallel_dir/examples/arkode/F77_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_fmoddir}/openmpi-%{_arch}:%{buildroot}%{_libdir} -np 4 fark_diag_kry_bbd_p
%endif
##cvode ##cvode
%if 0%{?fedora} > 22 mpirun -wdir buildparallel_dir/examples/cvode/fcmix_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_fmoddir}/openmpi-%{_arch}:%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib fcvDiag_kry_bbd_p -np 4
mpirun -wdir buildparallel_dir/examples/cvode/fcmix_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_fmoddir}/openmpi-%{_arch}:%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} fcvDiag_kry_bbd_p -np 4 mpirun -wdir buildparallel_dir/examples/cvode/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 cvAdvDiff_diag_p
%endif
mpirun -wdir buildparallel_dir/examples/cvode/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{buildroot}%{_libdir} -np 4 cvAdvDiff_diag_p
##cvodes ##cvodes
mpirun -wdir buildparallel_dir/examples/cvodes/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} -np 4 cvsAdvDiff_ASAp_non_p mpirun -wdir buildparallel_dir/examples/cvodes/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 cvsAdvDiff_ASAp_non_p
##ida ##ida
%if 0%{?fedora} > 22 mpirun -wdir buildparallel_dir/examples/ida/fcmix_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_fmoddir}/openmpi-%{_arch}:%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 fidaHeat2D_kry_bbd_p
mpirun -wdir buildparallel_dir/examples/ida/fcmix_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_fmoddir}/openmpi-%{_arch}:%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} -np 4 fidaHeat2D_kry_bbd_p mpirun -wdir buildparallel_dir/examples/ida/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 idaFoodWeb_kry_bbd_p
%endif
mpirun -wdir buildparallel_dir/examples/ida/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} -np 4 idaFoodWeb_kry_bbd_p
##idas ##idas
mpirun -wdir buildparallel_dir/examples/idas/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} -np 4 idasBruss_ASAp_kry_bbd_p mpirun -wdir buildparallel_dir/examples/idas/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 idasBruss_ASAp_kry_bbd_p
##kinsol ##kinsol
%if 0%{?fedora} > 22 mpirun -wdir buildparallel_dir/examples/kinsol/fcmix_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_fmoddir}/openmpi-%{_arch}:%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 fkinDiagon_kry_p
mpirun -wdir buildparallel_dir/examples/kinsol/fcmix_parallel -x LD_LIBRARY_PATH=%{buildroot}%{_fmoddir}/openmpi-%{_arch}:%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} -np 4 fkinDiagon_kry_p mpirun -wdir buildparallel_dir/examples/kinsol/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 kinFoodWeb_kry_bbd_p
%endif
mpirun -wdir buildparallel_dir/examples/kinsol/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} -np 4 kinFoodWeb_kry_bbd_p
##nvector ##nvector
mpirun -wdir buildparallel_dir/examples/nvector/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir} -np 4 test_nvector_mpi 5000 4 1 mpirun -wdir buildparallel_dir/examples/nvector/parallel -x LD_LIBRARY_PATH=%{buildroot}%{_libdir}/openmpi/lib:%{buildroot}%{_libdir}:%{_libdir}/openmpi/lib -np 4 test_nvector_mpi 5000 4 1
%{_openmpi_unload} %{_openmpi_unload}
%endif ##if openmpi %endif ##if openmpi
%endif ## if with_parcheck %endif ## if with_parcheck
@ -545,8 +514,6 @@ popd
%{_includedir}/openmpi-%{_arch}/nvector/nvector_parallel.h %{_includedir}/openmpi-%{_arch}/nvector/nvector_parallel.h
%{_libdir}/openmpi/lib/libsundials_nvecparallel.so %{_libdir}/openmpi/lib/libsundials_nvecparallel.so
%if 0%{?fedora} <= 22
%ifarch %ix86
%files fortran-openmpi %files fortran-openmpi
%license LICENSE %license LICENSE
%doc README src/README-nvec_par %doc README src/README-nvec_par
@ -556,18 +523,6 @@ popd
%{_includedir}/openmpi-%{_arch}/nvector/nvector_parallel.h %{_includedir}/openmpi-%{_arch}/nvector/nvector_parallel.h
%{_fmoddir}/openmpi-%{_arch}/libsundials_fnvecparallel.so %{_fmoddir}/openmpi-%{_arch}/libsundials_fnvecparallel.so
%endif %endif
%endif
%if 0%{?fedora} > 22
%files fortran-openmpi
%license LICENSE
%doc README src/README-nvec_par
%{_fmoddir}/openmpi-%{_arch}/libsundials_fnvecparallel.so.*
%files fortran-openmpi-devel
%{_includedir}/openmpi-%{_arch}/nvector/nvector_parallel.h
%{_fmoddir}/openmpi-%{_arch}/libsundials_fnvecparallel.so
%endif
%endif
%files fortran %files fortran
%license LICENSE %license LICENSE
@ -598,6 +553,12 @@ popd
%{_libdir}/pkgconfig/fnvec_pthreads.pc %{_libdir}/pkgconfig/fnvec_pthreads.pc
%changelog %changelog
* Thu Nov 12 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-11
- Fixes for EPEL7
- Set mpif77 only for OpenMPI < 1.17 (EPEL7)
- Set mpifort for OpenMPI > 1.17 (Fedora)
- Set LDFLAGS for EPEL7
* Wed Nov 11 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-10 * Wed Nov 11 2015 Antonio Trande <sagitterATfedoraproject.org> - 2.6.2-10
- OpenMPI Fortran lib tests not compiled on F<23 - OpenMPI Fortran lib tests not compiled on F<23