From e00190e2af16ee7a9abc08f526634dad5ec9d203 Mon Sep 17 00:00:00 2001 From: Bernhard M. Wiedemann Date: Dec 04 2019 14:31:14 +0000 Subject: update 2019-12-04 14:31 --- diff --git a/.files b/.files index c0f090c..5c4f6cd 100644 Binary files a/.files and b/.files differ diff --git a/.rev b/.rev index 78de5fc..b92e945 100644 --- a/.rev +++ b/.rev @@ -7,4 +7,33 @@ 740995 + + 83d933739eb0058d23b8864cd78611a6 + 1.13.1 + + dimstar_suse + - Correct naming of openmpi1 packages in Leap 15.0/15.1 (still + called openmpi), fixes unresolvable packages. +- Add non-HPC openmpi2 and openmpi3 flavors. + +- Add support for gcc7. +- Add support for gcc8 and gcc9 (jsc#SLE-7766 & jsc#SLE-8609). + +- Disable openmpi1 builds for SLE/Leap > 15.1. +- Enable openmpi3 builds for Leap and SLE > 15.1 (jsc#SLE-7773). +- Disable build on s390/s390x as netcdf is not available (bsc#1157965). +- Fix openmpi1 names for non-HPC builds on Factory. + +- Add missing FCFLAGS export + +- Fix aarch64 LTO build with -ffat-lto-objects flag + +- Disable openmpi3 and the openmpi flavor in SLE. +- Remake patch adios-correct-func-ret.patch to make sure the functions +- Update Licensing. + file. +- Add a separate package with the examples in two flavors one for + non-HPC and another one for HPC: examples and examples-hpc. + 753291 + diff --git a/_multibuild b/_multibuild index 264bcb3..3650c26 100644 --- a/_multibuild +++ b/_multibuild @@ -1,5 +1,7 @@ openmpi + openmpi2 + openmpi3 gnu-openmpi-hpc gnu-openmpi2-hpc gnu-openmpi3-hpc diff --git a/adios.changes b/adios.changes index 53b1b6b..0419181 100644 --- a/adios.changes +++ b/adios.changes @@ -1,12 +1,43 @@ ------------------------------------------------------------------- +Sat Nov 30 14:01:36 UTC 2019 - Stefan BrĂ¼ns + +- Correct naming of openmpi1 packages in Leap 15.0/15.1 (still + called openmpi), fixes unresolvable packages. +- Add non-HPC openmpi2 and openmpi3 flavors. + +------------------------------------------------------------------- +Fri Nov 29 20:27:51 UTC 2019 - Egbert Eich + +- Add support for gcc7. +- Add support for gcc8 and gcc9 (jsc#SLE-7766 & jsc#SLE-8609). + +------------------------------------------------------------------- +Fri Nov 29 15:34:45 UTC 2019 - Egbert Eich + +- Disable openmpi1 builds for SLE/Leap > 15.1. +- Enable openmpi3 builds for Leap and SLE > 15.1 (jsc#SLE-7773). +- Disable build on s390/s390x as netcdf is not available (bsc#1157965). +- Fix openmpi1 names for non-HPC builds on Factory. + +------------------------------------------------------------------- +Fri Nov 29 07:51:31 UTC 2019 - Ana Guerrero Lopez + +- Add missing FCFLAGS export + +------------------------------------------------------------------- +Thu Nov 28 10:14:37 UTC 2019 - Guillaume GARDET + +- Fix aarch64 LTO build with -ffat-lto-objects flag + +------------------------------------------------------------------- Fri Oct 18 08:22:51 UTC 2019 - Ana Guerrero Lopez -- Disable openmpi3 and the openmpi flavor in SLE. +- Disable openmpi3 and the openmpi flavor in SLE. ------------------------------------------------------------------- Mon Oct 7 09:23:07 UTC 2019 - Ana Guerrero Lopez -- Remake patch adios-correct-func-ret.patch to make sure the functions +- Remake patch adios-correct-func-ret.patch to make sure the functions return something instead of changing the return type from int to void. ------------------------------------------------------------------- @@ -24,7 +55,7 @@ Wed Apr 10 09:20:20 UTC 2019 - Ana Guerrero Lopez ------------------------------------------------------------------- Mon Apr 8 07:43:14 UTC 2019 - Ana Guerrero Lopez -- Update Licensing. +- Update Licensing. ------------------------------------------------------------------- Fri Mar 29 08:28:48 UTC 2019 - Jan Engelhardt @@ -46,9 +77,9 @@ Thu Mar 28 10:40:04 UTC 2019 - Ana Guerrero Lopez Mon Mar 25 19:37:08 UTC 2019 - Ana Guerrero Lopez - Re-add CPATH, C_INCLUDE_PATH and CPLUS_INCLUDE_PATH to the module -file. -- Add a separate package with the examples in two flavors one for -non-HPC and another one for HPC: examples and examples-hpc. + file. +- Add a separate package with the examples in two flavors one for + non-HPC and another one for HPC: examples and examples-hpc. - Update Requires for the devel package. ------------------------------------------------------------------- diff --git a/adios.spec b/adios.spec index 15e36cf..dcfda10 100644 --- a/adios.spec +++ b/adios.spec @@ -1,7 +1,7 @@ # # spec file for package adios # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,7 +15,11 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # + +%global _lto_cflags %{?_lto_cflags} -ffat-lto-objects + %global flavor @BUILD_FLAVOR@%{nil} + %define pname adios %define vers 1.13.1 %define _vers %(echo %{vers} | tr . _) @@ -24,20 +28,40 @@ ExclusiveArch: do_not_build %endif -%if 0%{?is_opensuse} || 0%{?is_backports} -%undefine DisOMPI3 -%else +# No netcdf on s390. +ExcludeArch: s390 s390x + +%if 0%{?sle_version} >= 150200 +%define DisOMPI1 ExclusiveArch: do_not_build +%endif +%if !0%{?is_opensuse} && 0%{?sle_version:1} && 0%{?sle_version} < 150200 %define DisOMPI3 ExclusiveArch: do_not_build %endif # this is a non-HPC build %if "%{flavor}" == "openmpi" -%global mpi_flavor %{flavor} +%{?DisOMPI1} +%global mpi_flavor openmpi +%define mpi_ver 1 +%bcond_with hpc +%endif + +%if "%{flavor}" == "openmpi2" +%global mpi_flavor openmpi +%define mpi_ver 2 +%bcond_with hpc +%endif + +%if "%{flavor}" == "openmpi3" +%{?DisOMPI3} +%global mpi_flavor openmpi +%define mpi_ver 3 %bcond_with hpc %endif # All the HPC builds are below %if "%{flavor}" == "gnu-openmpi-hpc" +%{?DisOMPI1} %bcond_without hpc %define compiler_family gnu %undefine c_f_ver @@ -76,16 +100,141 @@ ExclusiveArch: do_not_build %global mpi_flavor mpich %endif +# All the HPC builds are below +%if "%{flavor}" == "gnu7-openmpi-hpc" +%{?DisOMPI1} +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 7 +%global mpi_flavor openmpi +%define mpi_ver 1 +%endif + +%if "%{flavor}" == "gnu7-openmpi2-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 7 +%global mpi_flavor openmpi +%define mpi_ver 2 +%endif + +%if "%{flavor}" == "gnu7-openmpi3-hpc" +%{?DisOMPI3} +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 7 +%global mpi_flavor openmpi +%define mpi_ver 3 +%endif + +%if "%{flavor}" == "gnu7-mvapich2-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 7 +%global mpi_flavor mvapich2 +%endif + +%if "%{flavor}" == "gnu7-mpich-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 7 +%global mpi_flavor mpich +%endif + +%if "%{flavor}" == "gnu8-openmpi-hpc" +%{?DisOMPI1} +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 8 +%global mpi_flavor openmpi +%define mpi_ver 1 +%endif + +%if "%{flavor}" == "gnu8-openmpi2-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 8 +%global mpi_flavor openmpi +%define mpi_ver 2 +%endif + +%if "%{flavor}" == "gnu8-openmpi3-hpc" +%{?DisOMPI3} +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 8 +%global mpi_flavor openmpi +%define mpi_ver 3 +%endif + +%if "%{flavor}" == "gnu8-mvapich2-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 8 +%global mpi_flavor mvapich2 +%endif + +%if "%{flavor}" == "gnu8-mpich-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 8 +%global mpi_flavor mpich +%endif + +%if "%{flavor}" == "gnu9-openmpi-hpc" +%{?DisOMPI1} +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 9 +%global mpi_flavor openmpi +%define mpi_ver 1 +%endif + +%if "%{flavor}" == "gnu9-openmpi2-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 9 +%global mpi_flavor openmpi +%define mpi_ver 2 +%endif + +%if "%{flavor}" == "gnu9-openmpi3-hpc" +%{?DisOMPI3} +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 9 +%global mpi_flavor openmpi +%define mpi_ver 3 +%endif + +%if "%{flavor}" == "gnu9-mvapich2-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 9 +%global mpi_flavor mvapich2 +%endif + +%if "%{flavor}" == "gnu9-mpich-hpc" +%bcond_without hpc +%define compiler_family gnu +%define c_f_ver 9 +%global mpi_flavor mpich +%endif + %if !0%{?is_opensuse} && !0%{?with_hpc:1} ExclusiveArch: do_not_build %endif %{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}} %{?with_mpi:%{!?mpi_flavor:%global mpi_flavor openmpi}} -%{?with_mpi:%global pkg_suffix -%{mpi_flavor}} + +# openmpi 1 was called just "openmpi" in Leap 15.x/SLE15 +%if 0%{?suse_version} >= 1550 || "%{mpi_flavor}" != "openmpi" || "%{mpi_ver}" != "1" +%define mpi_ext %{?mpi_ver} +%endif %if %{with hpc} - %{hpc_init %{?compiler_family:-c %{compiler_family} %{?c_f_ver:-v %{c_f_ver}}} %{?with_mpi:-m %{mpi_flavor}} %{?mpi_ver:-V %{mpi_ver}} %{?ext:-e %{ext}}} + %{hpc_init %{?compiler_family:-c %{compiler_family} %{?c_f_ver:-v %{c_f_ver}}} %{?with_mpi:-m %{?mpi_flavor}} %{?mpi_ver:-V %{?mpi_ver}} %{?ext:-e %{ext}}} %{hpc_modules_init phdf5 pnetcdf} %global hpc_module_pname %{pname} %define pkg_prefix %{hpc_prefix} @@ -101,7 +250,8 @@ ExclusiveArch: do_not_build # It needs to be addressed at some point. This needs to come after hpc_init. %undefine _hpc_python3 %else - %define pkg_prefix %{_libdir}/mpi/gcc/%{mpi_flavor} + %global pkg_suffix %{?mpi_flavor:-%{mpi_flavor}%{?mpi_ext}} + %define pkg_prefix %{_libdir}/mpi/gcc/%{mpi_flavor}%{?mpi_ext} %define pkg_bindir %{pkg_prefix}/bin/ %define pkg_libdir %{pkg_prefix}/%{_lib}/ %define pkg_incdir %{pkg_prefix}/include/ @@ -112,40 +262,40 @@ ExclusiveArch: do_not_build %define libname(l:s:) lib%{pname}%{!-l:%{-s:-}}%{-l*}%{-s*}%{?pkg_suffix} %endif -Name: %{package_name} -Version: %{vers} -Release: 0 -Summary: The Adaptable IO System (ADIOS) -License: BSD-3-Clause AND LGPL-2.1-or-later AND BSD-2-Clause -Group: Productivity/Scientific/Other -URL: https://www.olcf.ornl.gov/center-projects/adios/ -Source0: https://users.nccs.gov/~pnorbert/adios-%{version}.tar.gz -Patch0: adios-correct-func-ret.patch -Patch1: fix_python_shebang.patch +Name: %{package_name} +Version: %{vers} +Release: 0 +Summary: The Adaptable IO System (ADIOS) +License: BSD-3-Clause AND LGPL-2.1-or-later AND BSD-2-Clause +Group: Productivity/Scientific/Other +URL: https://www.olcf.ornl.gov/center-projects/adios/ +Source0: https://users.nccs.gov/~pnorbert/adios-%{version}.tar.gz +Patch0: adios-correct-func-ret.patch +Patch1: fix_python_shebang.patch %{?with_hpc:BuildRequires: suse-hpc >= 0.3} -BuildRequires: fdupes -BuildRequires: autoconf -BuildRequires: libbz2-devel -BuildRequires: liblz4-devel -BuildRequires: python -BuildRequires: python-numpy -BuildRequires: zlib-devel - %if %{without hpc} +BuildRequires: autoconf +BuildRequires: fdupes +BuildRequires: libbz2-devel +BuildRequires: liblz4-devel +BuildRequires: python +BuildRequires: python-numpy +BuildRequires: zlib-devel +%if %{without hpc} +BuildRequires: %{mpi_flavor}%{?mpi_ext}-devel BuildRequires: gcc-c++ BuildRequires: gcc-fortran -BuildRequires: %{flavor}-devel BuildRequires: hdf5%{?pkg_suffix}-devel BuildRequires: netcdf%{?pkg_suffix}-devel - %else # hpc +%else # hpc BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel BuildRequires: %{mpi_flavor}%{?mpi_ver}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel BuildRequires: hdf5-%{compiler_family}%{?c_f_ver}%{?with_mpi:-%{mpi_flavor}%{?mpi_ver}}-hpc-devel -BuildRequires: netcdf-%{compiler_family}%{?c_f_ver}%{?with_mpi:-%{mpi_flavor}%{?mpi_ver}}-hpc-devel BuildRequires: lua-lmod +BuildRequires: netcdf-%{compiler_family}%{?c_f_ver}%{?with_mpi:-%{mpi_flavor}%{?mpi_ver}}-hpc-devel %{hpc_requires} %endif # ?hpc -Requires: python2-xml -Requires: python2-PyYAML +Requires: python2-PyYAML +Requires: python2-xml %description The Adaptable IO System (ADIOS) provides a way for scientists to @@ -163,15 +313,18 @@ Summary: Development files for %{name} Group: Development/Libraries/Parallel Requires: %{name} = %{version} Requires: %{name}-devel-static = %{version} - %if %{without hpc} -Requires: hdf5%{?pkg_suffix}-devel -Requires: netcdf%{?pkg_suffix}-devel - %else # hpc +%if %{without hpc} +Requires: hdf5%{?pkg_suffix}-devel +Requires: netcdf%{?pkg_suffix}-devel +%if "%{mpi_family}%{?mpi_ext}" == "openmpi1" +Provides: %{pname}%-openmpi-devel +%endif +%else # hpc Requires: hdf5-%{compiler_family}%{?c_f_ver}%{?with_mpi:-%{mpi_flavor}%{?mpi_ver}}-hpc-devel -Requires: netcdf-%{compiler_family}%{?c_f_ver}%{?with_mpi:-%{mpi_flavor}%{?mpi_ver}}-hpc-devel Requires: lua-lmod +Requires: netcdf-%{compiler_family}%{?c_f_ver}%{?with_mpi:-%{mpi_flavor}%{?mpi_ver}}-hpc-devel %hpc_requires_devel - %endif # ?hpc +%endif # ?hpc %description devel The Adaptable IO System (ADIOS) provides a way for scientists to @@ -183,7 +336,6 @@ the %{flavor} version of ADIOS. %{?with_hpc:%{hpc_master_package -L devel}} - %package devel-static Summary: Static libraries for %{name} Group: Development/Libraries/Parallel @@ -193,7 +345,7 @@ The Adaptable IO System (ADIOS) provides a way for scientists to describe the data in their code that may need to be written, read, or processed outside of the running simulation. -This package contains all the static libraries needed to create projects +This package contains all the static libraries needed to create projects that use the %{flavor} version of ADIOS. %{?with_hpc:%{hpc_master_package -L devel-static}} @@ -214,7 +366,8 @@ export FC=gfortran export MPICC=mpicc export MPICXX=mpicxx export MPIFC=mpif90 -export CFLAGS="-fPIE %{optflags}" +export CFLAGS="-fPIC %{optflags}" +export FCFLAGS="-fPIC %{optflags}" export LDFLAGS="-pie" %if %{without hpc}