From 20ec96efbd11c2af95573d49a104434866b204e6545fa90cfb17d21c47824dc2 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Mon, 4 Jan 2021 11:54:20 +0000 Subject: [PATCH 1/4] OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=277 --- boost.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boost.spec b/boost.spec index 3a82f7f..1201bab 100644 --- a/boost.spec +++ b/boost.spec @@ -1,7 +1,7 @@ # # spec file for package boost # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed From 97cbe8156c968b806c537746a80b508cce35fa3b5193181f284a299ef219af82 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Tue, 9 Feb 2021 09:53:57 +0000 Subject: [PATCH 2/4] Accepting request 869990 from home:eeich:branches:devel:libraries:c_c++ - Add build support for gcc10 to HPC build (bsc#1174439). - Add openmpi4 flavors (jsc#SLE-16462). OBS-URL: https://build.opensuse.org/request/show/869990 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=278 --- _multibuild | 1 + boost.changes | 6 +++ boost.spec | 126 +++++++++++++++++++++++++++++++++++++------------- 3 files changed, 100 insertions(+), 33 deletions(-) diff --git a/_multibuild b/_multibuild index 94c9957..3256abe 100644 --- a/_multibuild +++ b/_multibuild @@ -4,6 +4,7 @@ gnu-hpc gnu-openmpi2-hpc gnu-openmpi3-hpc + gnu-openmpi4-hpc gnu-mvapich2-hpc gnu-mpich-hpc diff --git a/boost.changes b/boost.changes index 735d254..c0ccf27 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Feb 6 12:09:28 UTC 2021 - Egbert Eich + +- Add build support for gcc10 to HPC build (bsc#1174439). +- Add openmpi4 flavors (jsc#SLE-16462). + ------------------------------------------------------------------- Mon Dec 28 15:09:51 UTC 2020 - Adam Majer diff --git a/boost.spec b/boost.spec index 1201bab..29f1b33 100644 --- a/boost.spec +++ b/boost.spec @@ -16,6 +16,9 @@ # +# +%global flavor @BUILD_FLAVOR@%{nil} + %define ver 1.75.0 %define _ver 1_75_0 %define package_version 1_75_0 @@ -30,6 +33,14 @@ %bcond_with boost_devel %bcond_with ringdisabled +%if !0%{?is_opensuse} && 0%{?sle_version:1} && 0%{?sle_version} < 150200 +%define DisOMPI3 ExclusiveArch: do_not_build +%endif + +%if 0%{?sle_version:1} && 0%{?sle_version} < 150300 +%define DisOMPI4 ExclusiveArch: do_not_build +%endif + %define package_name boost%{library_version} %define my_docdir %{_docdir}/boost%{library_version} @@ -38,38 +49,42 @@ %define build_base 1 %define name_suffix %{nil} -%if "@BUILD_FLAVOR@" == "%nil" +%if "%{flavor}" == "%nil" ExclusiveArch: do_not_build %endif -%if "@BUILD_FLAVOR@" == "base" +%if "%{flavor}" == "base" %define build_base 1 %define name_suffix -base %bcond_with hpc %bcond_with mpi %endif -%if "@BUILD_FLAVOR@" == "extra" +%if "%{flavor}" == "extra" %define build_base 0 %define name_suffix -extra %bcond_without python3 %bcond_without mpi %endif -%if "@BUILD_FLAVOR@" == "gnu-hpc" +%if "%{flavor}" == "gnu-hpc" %define build_base 1 -%define name_suffix hpc %define compiler_family gnu %undefine c_f_ver %bcond_with mpi %bcond_without hpc #ExcludeArch: %%arm s390x i586 ExcludeArch: s390x %{ix86} ppc64 ppc64le +%else + %if %{with ringdisabled} +ExclusiveArch: do-not-build + %else +ExcludeArch: s390x %{ix86} ppc64 ppc64le + %endif %endif -%if "@BUILD_FLAVOR@" == "gnu-openmpi2-hpc" +%if "%{flavor}" == "gnu-openmpi2-hpc" %define build_base 0 -%define name_suffix openmpi2_hpc %define mpi_vers 2 %define compiler_family gnu %define mpi_flavor openmpi @@ -77,16 +92,11 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le %bcond_without hpc %bcond_without mpi %bcond_without python3 -%if %{with ringdisabled} -ExclusiveArch: do-not-build -%else -ExcludeArch: s390x %{ix86} ppc64 ppc64le -%endif %endif -%if "@BUILD_FLAVOR@" == "gnu-openmpi3-hpc" +%if "%{flavor}" == "gnu-openmpi3-hpc" +%{?DisOMPI3} %define build_base 0 -%define name_suffix openmpi3_hpc %define mpi_vers 3 %define compiler_family gnu %define mpi_flavor openmpi @@ -94,43 +104,93 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le %bcond_without hpc %bcond_without mpi %bcond_without python3 -%if %{with ringdisabled} -ExclusiveArch: do-not-build -%else -ExcludeArch: s390x %{ix86} ppc64 ppc64le -%endif %endif -%if "@BUILD_FLAVOR@" == "gnu-mvapich2-hpc" +%if "%{flavor}" == "gnu-openmpi4-hpc" +%{?DisOMPI4} +%define build_base 0 +%define mpi_vers 4 +%define compiler_family gnu +%define mpi_flavor openmpi +%undefine c_f_ver +%bcond_without hpc +%bcond_without mpi +%bcond_without python3 +%endif + +%if "%{flavor}" == "gnu-mvapich2-hpc" %define build_base 0 -%define name_suffix mvapich2_hpc %define compiler_family gnu %define mpi_flavor mvapich2 %undefine c_f_ver %bcond_without hpc %bcond_without mpi %bcond_without python3 -%if %{with ringdisabled} -ExclusiveArch: do-not-build -%else -ExcludeArch: s390x %{ix86} ppc64 ppc64le -%endif %endif -%if "@BUILD_FLAVOR@" == "gnu-mpich-hpc" +%if "%{flavor}" == "gnu-mpich-hpc" %define build_base 0 -%define name_suffix mpich %define compiler_family gnu %define mpi_flavor mpich %undefine c_f_ver %bcond_without hpc %bcond_without mpi %bcond_without python3 -%if %{with ringdisabled} -ExclusiveArch: do-not-build -%else -ExcludeArch: s390x %{ix86} ppc64 ppc64le %endif +# +%if "%{flavor}" == "gnu10-openmpi2-hpc" +%define build_base 0 +%define mpi_vers 2 +%define compiler_family gnu +%define mpi_flavor openmpi +%define c_f_ver 10 +%bcond_without hpc +%bcond_without mpi +%bcond_without python3 +%endif + +%if "%{flavor}" == "gnu10-openmpi3-hpc" +%{?DisOMPI3} +%define build_base 0 +%define mpi_vers 3 +%define compiler_family gnu +%define mpi_flavor openmpi +%define c_f_ver 10 +%bcond_without hpc +%bcond_without mpi +%bcond_without python3 +%endif + +%if "%{flavor}" == "gnu10-openmpi4-hpc" +%{?DisOMPI4} +%define build_base 0 +%define mpi_vers 4 +%define compiler_family gnu +%define mpi_flavor openmpi +%define c_f_ver 10 +%bcond_without hpc +%bcond_without mpi +%bcond_without python3 +%endif + +%if "%{flavor}" == "gnu10-mvapich2-hpc" +%define build_base 0 +%define compiler_family gnu +%define mpi_flavor mvapich2 +%define c_f_ver 10 +%bcond_without hpc +%bcond_without mpi +%bcond_without python3 +%endif + +%if "%{flavor}" == "gnu10-mpich-hpc" +%define build_base 0 +%define compiler_family gnu +%define mpi_flavor mpich +%define c_f_ver 10 +%bcond_without hpc +%bcond_without mpi +%bcond_without python3 %endif # Python NumPy library is only available on Leap 42.1 OpenSUSE onward @@ -163,7 +223,7 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le %define package_libdir %{_libdir} %define package_includedir %{_includedir} %define package_datadir %{_datadir} -%define base_name boost%{name_suffix} +%define base_name boost%{?name_suffix} %define package_python3_sitearch %python3_sitearch %endif From 41422eef13063fa7dcc04dbc79456270e968bf2540b91174e2a1058720f84964 Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Tue, 9 Feb 2021 12:37:45 +0000 Subject: [PATCH 3/4] Re-add ringdisabled section for HPC targets OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=279 --- boost.spec | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/boost.spec b/boost.spec index 29f1b33..4497811 100644 --- a/boost.spec +++ b/boost.spec @@ -73,14 +73,6 @@ ExclusiveArch: do_not_build %undefine c_f_ver %bcond_with mpi %bcond_without hpc -#ExcludeArch: %%arm s390x i586 -ExcludeArch: s390x %{ix86} ppc64 ppc64le -%else - %if %{with ringdisabled} -ExclusiveArch: do-not-build - %else -ExcludeArch: s390x %{ix86} ppc64 ppc64le - %endif %endif %if "%{flavor}" == "gnu-openmpi2-hpc" @@ -193,6 +185,14 @@ ExcludeArch: s390x %{ix86} ppc64 ppc64le %bcond_without python3 %endif +%if 0%{?with_hpc} +%if %{with ringdisabled} +ExclusiveArch: do-not-build +%else +ExcludeArch: s390x %{ix86} ppc64 ppc64le +%endif +%endif + # Python NumPy library is only available on Leap 42.1 OpenSUSE onward # and is not availble in SLE %if 0%{?suse_version} >= 1330 || 0%{?is_opensuse} From 2250ecc1d9b69d7f945a9e17c224922f263dc4e2444b71ed493e666a5f563b4b Mon Sep 17 00:00:00 2001 From: Adam Majer Date: Tue, 9 Feb 2021 14:24:13 +0000 Subject: [PATCH 4/4] - Fix HPC build on ARM. It seems boost_serialization libraries are no longer implicitly build with this setup. OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/boost?expand=0&rev=280 --- boost.changes | 6 ++++++ boost.spec | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/boost.changes b/boost.changes index c0ccf27..20ddc27 100644 --- a/boost.changes +++ b/boost.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Feb 9 14:23:32 UTC 2021 - Adam Majer + +- Fix HPC build on ARM. It seems boost_serialization libraries + are no longer implicitly build with this setup. + ------------------------------------------------------------------- Sat Feb 6 12:09:28 UTC 2021 - Egbert Eich diff --git a/boost.spec b/boost.spec index 4497811..2ddf957 100644 --- a/boost.spec +++ b/boost.spec @@ -1536,10 +1536,10 @@ mkdir -p %{buildroot}%{_defaultlicensedir} rm %{buildroot}%{package_libdir}/cmake/BoostDetectToolset-%{version}.cmake rm -r %{buildroot}%{package_libdir}/cmake/Boost-%{version} rm -r %{buildroot}%{package_libdir}/cmake/boost_headers-%{version} -rm -r %{buildroot}%{package_libdir}/cmake/boost_{w,}serialization-%{version} +rm -rf %{buildroot}%{package_libdir}/cmake/boost_{w,}serialization-%{version} rm -r %{buildroot}%{package_includedir}/boost -rm %{buildroot}%{package_libdir}/libboost_{w,}serialization* +rm -f %{buildroot}%{package_libdir}/libboost_{w,}serialization* rmdir --ignore-fail-on-non-empty %{buildroot}%{package_libdir} %fdupes %{buildroot}%{my_docdir} %endif