SHA256
1
0
forked from pool/mpiP

54 Commits

Author SHA256 Message Date
e2049ce07b Accepting request 1279989 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1279989
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=21
2025-05-26 16:39:13 +00:00
a9b56457fc Add reproducible.patch to not add time and hostname of build (boo#1047218, boo#1084909)
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=54
2025-05-26 07:25:24 +00:00
5f25a47fe4 Accepting request 1266019 from science:HPC
- Disable and remove gnu-hpc build flavours (bsc#1239982)
- Enable non hpc flavours

OBS-URL: https://build.opensuse.org/request/show/1266019
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=20
2025-04-03 14:46:49 +00:00
decef0b63b Fix bad Requires
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=52
2025-04-01 06:43:34 +00:00
f16f1384b4 - Disable and remove gnu-hpc build flavours (bsc#1239982)
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=51
2025-03-31 19:55:39 +00:00
3d0203cd7d - Disable gnu-hpc build flavours (bsc#1239982)
- Enable non hpc flavours

OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=50
2025-03-25 07:33:09 +00:00
e44f717d15 Accepting request 1199353 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1199353
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=19
2024-09-09 12:44:02 +00:00
5213ed6a97 Accepting request 1183205 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1183205
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=18
2024-06-25 21:09:30 +00:00
65985b6ce0 - Do not build on 32b platforms
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=46
2024-06-25 14:27:27 +00:00
66a110639b Accepting request 1119587 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1119587
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=17
2023-10-23 21:41:04 +00:00
ca7fca6d7e Accepting request 1119555 from home:NMorey:branches:science:HPC
- Drop support for openmpi[123] (jsc#PED-7111)
- Prepare support for openmpi5

OBS-URL: https://build.opensuse.org/request/show/1119555
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=44
2023-10-23 09:43:19 +00:00
1499bb4f1c Accepting request 1116695 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1116695
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=16
2023-10-10 19:01:22 +00:00
159a08696b Accepting request 1116688 from home:NMorey:branches:science:HPC
- Drop %vers macro so that the Version tag can be parsed more easily

OBS-URL: https://build.opensuse.org/request/show/1116688
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=42
2023-10-10 13:57:23 +00:00
fca686ddd4 Accepting request 1030659 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1030659
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=15
2022-10-24 09:13:17 +00:00
Nicolas Morey-Chaisemartin
0b912bdfb0 Accepting request 1030657 from home:StevenK:branches:science:HPC
- Use Python 3 instead of Python 2 to build.

OBS-URL: https://build.opensuse.org/request/show/1030657
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=40
2022-10-24 07:02:03 +00:00
f5334fa2f6 Accepting request 1012031 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1012031
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=14
2022-10-17 12:58:24 +00:00
72a12dcf43 Accepting request 1012029 from home:NMoreyChaisemartin:branches:science:HPC
- Added pc_lookup-replace-PTR-with-void.patch to fix compilation
  on newer glibc.

OBS-URL: https://build.opensuse.org/request/show/1012029
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=38
2022-10-17 08:50:51 +00:00
6d210771c8 Accepting request 851924 from science:HPC
- Update to mpiP version 3.5
   * Update deprecated functions.
   * Fix ARM typo and add LSE configure test.
   * Correct pt2pt histogram reporting check.
   * Address compiler warnings for some mt function return types.
   * Correct build behavior for testing multi-threaded support
     with Spectrum MPI.
   * Missing function argument entry.
   * Additional I/O routines
   * currBasetype fix
   * Update to test suite to include multi-threaded tests
   * Followup for renaming wrappers.c to mpiP-wrappers.c
   * Include mpiP in wrappers file name for call site reporting
   * Clarify stack tracing behavior
   * Correct autoheader error with HAVE_BFD_GET_SECTION_MACROS.
     Make define behavior consistent.
   * Convenience functionality to avoid SMPI libmpiP
   * Arch files corrections for gcc and opal code.
   * update to work with binutils-2.34
   * Fixed report header printing bug with large argument counts.
   * fix make-wrappers.py indentation and make python 2 and 3 compatible
   * Re-organized sizeof test to avoid CC defaulting to gcc.
     Re-organized default compilers.
   * Add Multi-Threading (MT) test suite
   * Fix FORTRAN Bindings: properly handle strings
   * Fix the code accounting the application time
   * Fix TLS cleanup code
   * Fix MT timings
   * Refine statistics reset procedure
   * Reduce the number of TLS accesses

OBS-URL: https://build.opensuse.org/request/show/851924
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=13
2020-12-01 13:21:51 +00:00
a58e287993 - Add: Add-return-value-to-non-void-function.patch
Preliminary %check stage. A number of checks fail currently.

OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=36
2020-11-30 16:49:28 +00:00
4b2404ff02 Accepting request 851870 from home:eeich:branches:science:HPC
- Preliminary %check stage. A number of checks fail currently.
  These need to be looked at.

OBS-URL: https://build.opensuse.org/request/show/851870
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=35
2020-11-30 16:43:27 +00:00
e21a8d51f8 - Minor fix.
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=34
2020-11-29 09:09:37 +00:00
598ebb31b2 Accepting request 851546 from home:eeich:branches:science:HPC
- Update to mpiP version 3.5
   * Update deprecated functions.
   * Fix ARM typo and add LSE configure test.
   * Correct pt2pt histogram reporting check.
   * Address compiler warnings for some mt function return types.
   * Correct build behavior for testing multi-threaded support
     with Spectrum MPI.
   * Missing function argument entry.
   * Additional I/O routines
   * currBasetype fix
   * Update to test suite to include multi-threaded tests
   * Followup for renaming wrappers.c to mpiP-wrappers.c
   * Include mpiP in wrappers file name for call site reporting
   * Clarify stack tracing behavior
   * Correct autoheader error with HAVE_BFD_GET_SECTION_MACROS.
     Make define behavior consistent.
   * Convenience functionality to avoid SMPI libmpiP
   * Arch files corrections for gcc and opal code.
   * update to work with binutils-2.34
   * Fixed report header printing bug with large argument counts.
   * fix make-wrappers.py indentation and make python 2 and 3 compatible
   * Re-organized sizeof test to avoid CC defaulting to gcc.
     Re-organized default compilers.
   * Add Multi-Threading (MT) test suite
   * Fix FORTRAN Bindings: properly handle strings
   * Fix the code accounting the application time
   * Fix TLS cleanup code
   * Fix MT timings
   * Refine statistics reset procedure
   * Reduce the number of TLS accesses

OBS-URL: https://build.opensuse.org/request/show/851546
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=33
2020-11-28 16:53:30 +00:00
a1f8501ad5 Accepting request 805380 from science:HPC
- Enable openmpi3 build for all SLE versions. (forwarded request 805379 from eeich)

OBS-URL: https://build.opensuse.org/request/show/805380
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=12
2020-05-14 21:25:59 +00:00
a584927757 Accepting request 805379 from home:eeich:branches:science:HPC
- Enable openmpi3 build for all SLE versions.

OBS-URL: https://build.opensuse.org/request/show/805379
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=31
2020-05-13 20:22:48 +00:00
95f9889636 Accepting request 755682 from science:HPC
- Add support for gcc8 and gcc9 (jsc#SLE-7766 & jsc#SLE-8604).

OBS-URL: https://build.opensuse.org/request/show/755682
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=11
2019-12-12 22:18:31 +00:00
f4305b7747 - Add support for gcc8 and gcc9 (jsc#SLE-7766 & jsc#SLE-8604).
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=29
2019-12-10 21:40:58 +00:00
cab4ccf1df Accepting request 752513 from science:HPC
- Add missing openmpi2 build 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).

OBS-URL: https://build.opensuse.org/request/show/752513
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=10
2019-12-02 10:29:29 +00:00
dc39046143 - Fix test again
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=27
2019-11-29 20:33:45 +00:00
38a23b0ed9 - Add missing openmpi2 build for gcc7.
- Add support for gcc8 and gcc9 (jsc#SLE-7766 & jsc#SLE-8609).

OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=26
2019-11-29 19:43:25 +00:00
873683b6a6 Accepting request 752427 from home:eeich:branches:science:HPC
- Disable openmpi1 builds for SLE/Leap > 15.1.
- Enable openmpi3 builds for Leap and SLE > 15.1 (jsc#SLE-7773).

OBS-URL: https://build.opensuse.org/request/show/752427
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=25
2019-11-29 17:42:07 +00:00
1ebcb8f238 Accepting request 738813 from science:HPC
- Fix LTO support in archive files

OBS-URL: https://build.opensuse.org/request/show/738813
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=9
2019-10-17 10:21:30 +00:00
Nicolas Morey-Chaisemartin
8673967a3e Accepting request 733398 from home:NMoreyChaisemartin:branches:science:HPC
- Fix LTO support in archive files

OBS-URL: https://build.opensuse.org/request/show/733398
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=23
2019-09-26 11:09:56 +00:00
115b0245c1 Accepting request 587811 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/587811
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=8
2018-03-18 20:44:43 +00:00
Nicolas Morey-Chaisemartin
9bf5c3d865 Accepting request 582008 from home:mslacken:hpc
- created version independent doc package

OBS-URL: https://build.opensuse.org/request/show/582008
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=21
2018-03-16 07:35:25 +00:00
b07a7d1ab0 Accepting request 574837 from science:HPC
- Add support for openmpi2 for HPC (FATE#325089).

- Fix summary in module files (bnc#1080259).

OBS-URL: https://build.opensuse.org/request/show/574837
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=7
2018-02-10 16:59:07 +00:00
7d482d785a - Add support for openmpi2 for HPC (FATE#325089).
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=19
2018-02-09 19:59:59 +00:00
8ab8f9c703 - Add support for openmpi2 for HPC.
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=18
2018-02-09 19:27:12 +00:00
fcc6e8504f - Fix summary in module files (bnc#1080259).
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=17
2018-02-09 15:35:12 +00:00
cb438d6ced Accepting request 563900 from science:HPC
- Disable the openmpi3 flavor in some products. (forwarded request 563895 from eeich)

OBS-URL: https://build.opensuse.org/request/show/563900
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=6
2018-01-13 20:49:20 +00:00
fd78914cdc Accepting request 563895 from home:eeich:branches:fix-compilers-hpc
- Disable the openmpi3 flavor in some products.

OBS-URL: https://build.opensuse.org/request/show/563895
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=15
2018-01-12 17:07:57 +00:00
37828e1d19 Accepting request 562829 from science:HPC
- Add gcc7 as additional compiler flavor for HPC on SLES.
- Add support for mpich and openmpi3 for HPC. (forwarded request 562827 from eeich)

OBS-URL: https://build.opensuse.org/request/show/562829
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=5
2018-01-10 22:35:01 +00:00
d1ed20dc91 Accepting request 562827 from home:eeich:branches:fix-compilers-hpc
- Add gcc7 as additional compiler flavor for HPC on SLES.
- Add support for mpich and openmpi3 for HPC.

OBS-URL: https://build.opensuse.org/request/show/562827
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=13
2018-01-09 10:27:39 +00:00
914522fedb Accepting request 541324 from science:HPC
- Require HPC devel packages.

OBS-URL: https://build.opensuse.org/request/show/541324
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=4
2017-11-14 11:59:02 +00:00
b6d75c3fea Accepting request 541140 from science:HPC
- Fix environment module file. (forwarded request 541137 from eeich)

OBS-URL: https://build.opensuse.org/request/show/541140
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=3
2017-11-13 13:04:22 +00:00
7c59e8eebe - Require HPC devel packages.
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=10
2017-11-13 12:44:03 +00:00
de1884a464 Accepting request 541137 from home:eeich:branches:science:HPC
- Fix environment module file.

OBS-URL: https://build.opensuse.org/request/show/541137
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=9
2017-11-12 23:08:52 +00:00
4f0cb56dc7 Accepting request 535431 from science:HPC
- Enable the openmpi build since the HPC build for openmpi
  is now available in Factory.

OBS-URL: https://build.opensuse.org/request/show/535431
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=2
2017-10-20 12:47:44 +00:00
7d009711d2 - Enable the openmpi build since the HPC build for openmpi
is now available in Factory.

OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=7
2017-10-20 08:42:41 +00:00
4c38cc68e4 Accepting request 534275 from science:HPC
- Ensure neutrality of descriptions and trim subpackages.
- Fix permissions in the doc and static package.
- Initial package creation (FATE#321721).
- mpip.unwinder.patch:
  Fix AARCH64.

OBS-URL: https://build.opensuse.org/request/show/534275
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mpiP?expand=0&rev=1
2017-10-19 17:32:02 +00:00
e38863f674 - Remove last commit as it is not required.
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=5
2017-10-17 14:00:35 +00:00
5bb5c57a69 - Add magic to limit the number of flavors built in the
in the OBS ring.

OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=4
2017-10-17 13:56:29 +00:00
c4169a53b0 Accepting request 533890 from home:jengelh:branches:science:HPC
- Ensure neutrality of descriptions and trim subpackages.

OBS-URL: https://build.opensuse.org/request/show/533890
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=3
2017-10-16 15:57:04 +00:00
3af9c79599 Accepting request 533877 from home:eeich:hpc_alt
- Fix permissions in the doc and static package.

OBS-URL: https://build.opensuse.org/request/show/533877
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=2
2017-10-13 10:42:48 +00:00
Nicolas Morey-Chaisemartin
b4bf7eca11 Accepting request 532069 from science:HPC:EnvMod
Add mpiP

OBS-URL: https://build.opensuse.org/request/show/532069
OBS-URL: https://build.opensuse.org/package/show/science:HPC/mpiP?expand=0&rev=1
2017-10-06 06:36:48 +00:00
4 changed files with 96 additions and 211 deletions

View File

@@ -1,5 +1,8 @@
<multibuild> <multibuild>
<package>gnu-openmpi4-hpc</package> <package>openmpi4</package>
<package>gnu-mvapich2-hpc</package> <package>openmpi5</package>
<package>gnu-mpich-hpc</package> <package>mpich</package>
<package>mvapich2</package>
<package>mvapich3-ofi</package>
<package>mvapich3-ucx</package>
</multibuild> </multibuild>

View File

@@ -1,3 +1,14 @@
-------------------------------------------------------------------
Wed Apr 30 08:17:08 UTC 2025 - Bernhard Wiedemann <bwiedemann@suse.com>
- Add reproducible.patch to not add time and hostname of build (boo#1047218, boo#1084909)
-------------------------------------------------------------------
Mon Mar 24 17:03:13 UTC 2025 - Nicolas Morey <nicolas.morey@suse.com>
- Disable and remove gnu-hpc build flavours (bsc#1239982)
- Enable non hpc flavours
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Sep 5 13:11:56 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com> Thu Sep 5 13:11:56 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>

258
mpiP.spec
View File

@@ -1,7 +1,7 @@
# #
# spec file # spec file for package mpiP
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -19,162 +19,41 @@
%global flavor @BUILD_FLAVOR@%{nil} %global flavor @BUILD_FLAVOR@%{nil}
%define pname mpiP %define pname mpiP
%define _vers 3_5
%if 0%{?sle_version} >= 150200 %if 0%{?sle_version:1} && 0%{?sle_version} < 150300
%define DisOMPI1 ExclusiveArch: do_not_build %define DisOMPI4 ExclusiveArch: do_not_build
%endif %endif
%if 0%{?sle_version} >= 150300 %if 0%{?sle_version:1} && 0%{?sle_version} < 160000
%define DisOMPI2 ExclusiveArch: do_not_build %define DisOMPI5 ExclusiveArch: do_not_build
%endif %endif
%if "%flavor" == "" %if "%flavor" == ""
ExclusiveArch: do_not_build ExclusiveArch: do_not_build
%define p_suffix %{nil}
%else
%define p_suffix -%{flavor}
%endif %endif
%if "%{flavor}" == "gnu-openmpi4-hpc" %if "%{flavor}" == "openmpi4"
%{?DisOMPI4} %{?DisOMPI4}
%global compiler_family gnu
%undefine c_f_ver
%define mpi_family openmpi
%define mpi_ver 4
%endif %endif
%if "%{flavor}" == "gnu-openmpi5-hpc" %if "%{flavor}" == "openmpi5"
ExcludeArch: %{ix86} %{arm}
%{?DisOMPI5} %{?DisOMPI5}
%global compiler_family gnu
%undefine c_f_ver
%define mpi_family openmpi
%define mpi_ver 5
%endif %endif
%if "%{flavor}" == "gnu-mvapich2-hpc" %define package_name %{pname}%{p_suffix}
%global compiler_family gnu %define p_prefix %{_libdir}/mpi/gcc/%{flavor}
%undefine c_f_ver
%define mpi_family mvapich2
%endif
%if "%{flavor}" == "gnu-mpich-hpc" %define p_bindir %{p_prefix}/bin
%global compiler_family gnu %define p_datadir %{p_prefix}/share
%undefine c_f_ver %define p_incdir %{p_prefix}/include/
%define mpi_family mpich %define p_libdir %{p_prefix}/%{_lib}/
%endif %define p_libexecdir %{p_prefix}/%{_lib}
%define p_mandir %{p_prefix}/share/man
%if "%{flavor}" == "gnu7-openmpi4-hpc" Name: %{package_name}
%{?DisOMPI4}
%global compiler_family gnu
%define c_f_ver 7
%define mpi_family openmpi
%define mpi_ver 4
%endif
%if "%{flavor}" == "gnu7-openmpi5-hpc"
%{?DisOMPI5}
%global compiler_family gnu
%define c_f_ver 7
%define mpi_family openmpi
%define mpi_ver 5
%endif
%if "%{flavor}" == "gnu7-mvapich2-hpc"
%global compiler_family gnu
%define c_f_ver 7
%define mpi_family mvapich2
%endif
%if "%{flavor}" == "gnu7-mpich-hpc"
%global compiler_family gnu
%define c_f_ver 7
%define mpi_family mpich
%endif
%if "%{flavor}" == "gnu8-openmpi4-hpc"
%{?DisOMPI4}
%global compiler_family gnu
%define c_f_ver 8
%define mpi_family openmpi
%define mpi_ver 4
%endif
%if "%{flavor}" == "gnu8-openmpi5-hpc"
%{?DisOMPI5}
%global compiler_family gnu
%define c_f_ver 8
%define mpi_family openmpi
%define mpi_ver 5
%endif
%if "%{flavor}" == "gnu8-mvapich2-hpc"
%global compiler_family gnu
%define c_f_ver 8
%define mpi_family mvapich2
%endif
%if "%{flavor}" == "gnu8-mpich-hpc"
%global compiler_family gnu
%define c_f_ver 8
%define mpi_family mpich
%endif
%if "%{flavor}" == "gnu9-openmpi4-hpc"
%{?DisOMPI4}
%global compiler_family gnu
%define c_f_ver 9
%define mpi_family openmpi
%define mpi_ver 4
%endif
%if "%{flavor}" == "gnu9-openmpi5-hpc"
%{?DisOMPI5}
%global compiler_family gnu
%define c_f_ver 9
%define mpi_family openmpi
%define mpi_ver 5
%endif
%if "%{flavor}" == "gnu9-mvapich2-hpc"
%global compiler_family gnu
%define c_f_ver 9
%define mpi_family mvapich2
%endif
%if "%{flavor}" == "gnu9-mpich-hpc"
%global compiler_family gnu
%define c_f_ver 9
%define mpi_family mpich
%endif
%if "%{flavor}" == "gnu10-openmpi4-hpc"
%{?DisOMPI4}
%global compiler_family gnu
%define c_f_ver 10
%define mpi_family openmpi
%define mpi_ver 4
%endif
%if "%{flavor}" == "gnu10-openmpi5-hpc"
%{?DisOMPI5}
%global compiler_family gnu
%define c_f_ver 10
%define mpi_family openmpi
%define mpi_ver 5
%endif
%if "%{flavor}" == "gnu10-mvapich2-hpc"
%global compiler_family gnu
%define c_f_ver 10
%define mpi_family mvapich2
%endif
%if "%{flavor}" == "gnu10-mpich-hpc"
%global compiler_family gnu
%define c_f_ver 10
%define mpi_family mpich
%endif
%{?hpc_init:%{hpc_init -c %compiler_family -m %mpi_family %{?c_f_ver:-v %{c_f_ver}} %{?mpi_ver:-V %{mpi_ver}} %{?ext:-e %{ext}}}}
Name: %{?hpc_package_name:%{hpc_package_name %_vers}}%{!?hpc_package_name:%pname}
Summary: A profiling library for MPI applications Summary: A profiling library for MPI applications
License: BSD-3-Clause License: BSD-3-Clause
Group: Development/Tools/Debuggers Group: Development/Tools/Debuggers
@@ -188,16 +67,17 @@ Patch2: Add-return-value-to-non-void-function.patch
Patch3: pc_lookup-replace-PTR-with-void.patch Patch3: pc_lookup-replace-PTR-with-void.patch
Patch4: configure-fix-compilation-error-for-GCC-14.patch Patch4: configure-fix-compilation-error-for-GCC-14.patch
Patch5: arch-add-generic-arch-using-GCC-builtins.patch Patch5: arch-add-generic-arch-using-GCC-builtins.patch
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel Patch6: reproducible.patch
BuildRequires: %{mpi_family}%{?mpi_ver}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel
BuildRequires: %{flavor}-devel
BuildRequires: binutils-devel BuildRequires: binutils-devel
BuildRequires: dejagnu BuildRequires: dejagnu
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: libunwind-devel BuildRequires: libunwind-devel
BuildRequires: lua-lmod
BuildRequires: python3 BuildRequires: python3
#BuildRequires: slurm-node Requires: %{flavor}
BuildRequires: suse-hpc
%{?hpc_requires}
%description %description
mpiP is a profiling library for MPI applications. mpiP is a profiling library for MPI applications.
@@ -208,23 +88,17 @@ uses communication during report generation, typically at the end of
the experiment, to merge results from all of the tasks into one output the experiment, to merge results from all of the tasks into one output
file. file.
%{hpc_master_package -L}
%package devel %package devel
Summary: Headers for profiling library for MPI applications Summary: Headers for profiling library for MPI applications
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
%{?hpc_requires_devel}
%description devel %description devel
mpiP is a profiling library for MPI applications. This packages contains mpiP is a profiling library for MPI applications. This packages contains
the build headers. the build headers.
%{hpc_master_package devel}
%package devel-static %package devel-static
Summary: Static version of profiling library for MPI applications Summary: Static version of profiling library for MPI applications
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
%{?hpc_requires_devel}
%description devel-static %description devel-static
mpiP is a profiling library for MPI applications. mpiP is a profiling library for MPI applications.
@@ -240,12 +114,6 @@ mpiP is a profiling library for MPI applications.
This contains the documentation. This contains the documentation.
%{hpc_master_package doc}
%if "%(echo %version | tr '.' '_')" != "%_vers"
%{error: Fix _vers variable to match package version!}
%endif
%prep %prep
%setup -q -n %{pname}-%{version} %setup -q -n %{pname}-%{version}
%autopatch -p0 %autopatch -p0
@@ -253,7 +121,9 @@ sed -i -e "/-shared -o \$@/s#\(\${LDFLAGS}\)#\1 -Wl,-soname,\$@#" Makefile.in
%build %build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects %global _lto_cflags %{_lto_cflags} -ffat-lto-objects
%hpc_setup export CC=gcc
source %{p_bindir}/mpivars.sh
export CC=mpicc export CC=mpicc
export CXX=mpicxx export CXX=mpicxx
export FC=mpifort export FC=mpifort
@@ -261,7 +131,15 @@ export F77=$FC
export CFLAGS="-D__DATE__=\\\"NODATE\\\" -D__TIME__=\\\"NOTIME\\\"" export CFLAGS="-D__DATE__=\\\"NODATE\\\" -D__TIME__=\\\"NOTIME\\\""
export FFLAGS="-std=legacy" export FFLAGS="-std=legacy"
export HAVE_PYTHON="python3" export HAVE_PYTHON="python3"
%hpc_configure \ %configure \
--prefix=%{p_prefix} \
--exec-prefix=%{p_prefix} \
--datadir=%{p_datadir} \
--bindir=%{p_bindir} \
--includedir=%{p_incdir} \
--libdir=%{p_libdir} \
--libexecdir=%{p_libexecdir} \
--mandir=%{p_mandir} \
--enable-demangling \ --enable-demangling \
%ifarch aarch64 %ifarch aarch64
--enable-setjmp \ --enable-setjmp \
@@ -271,53 +149,22 @@ export HAVE_PYTHON="python3"
make %{?_smp_mflags} PYTHON="python3" shared make %{?_smp_mflags} PYTHON="python3" shared
%install %install
%hpc_setup source %{p_bindir}/mpivars.sh
make install-all DESTDIR=%{?buildroot} make install-all DESTDIR=%{?buildroot}
find "%{buildroot}" -type f -name "*.a" -exec chmod a-x {} + find "%{buildroot}" -type f -name "*.a" -exec chmod a-x {} +
find "%{buildroot}/%{_docdir}" -type f -exec chmod a-x {} + find "%{buildroot}/%{_docdir}" -type f -exec chmod a-x {} +
find "%{buildroot}/%{hpc_includedir}" -type f -exec chmod a-x {} + find "%{buildroot}/%{p_incdir}" -type f -exec chmod a-x {} +
%{hpc_shebang_sanitize_scripts %{buildroot}%{hpc_bindir}}
for i in mpirun-mpip srun-mpip; do for i in mpirun-mpip srun-mpip; do
sed -i \ sed -i \
-e "s@\(MPIP_DIR=\).*@\1%{?hpc_prefix}@" \ -e "s@\(MPIP_DIR=\).*@\1%{?p_prefix}@" \
-e "s@\(LD_PRELOAD=\).*:\(.*\)@\1\2@" \ -e "s@\(LD_PRELOAD=\).*:\(.*\)@\1\2@" \
-e "s@\(ADDTL_RT_LIBS=.*\)@#\1@" \ -e "s@\(ADDTL_RT_LIBS=.*\)@#\1@" \
-e "s@/lib/libmpiP.so@/%{_lib}/libmpiP.so@" %{buildroot}%{hpc_bindir}/$i -e "s@/lib/libmpiP.so@/%{_lib}/libmpiP.so@" %{buildroot}%{p_bindir}/$i
done done
%hpc_write_modules_files
#%%Module1.0#####################################################################
proc ModulesHelp { } {
puts stderr " "
puts stderr "This module loads the %{pname} library built with the %{compiler_family} compiler"
puts stderr "toolchain and the %{mpi_family} MPI stack."
puts stderr "\nVersion %{version}\n"
}
module-whatis "Name: %{pname} built with %{compiler_family} compiler and %{mpi_family} MPI"
module-whatis "Version: %{version}"
module-whatis "Category: Profiling library"
module-whatis "Description: %{SUMMARY:0}"
module-whatis "URL %{url}"
set version %{version}
prepend-path PATH %{hpc_bindir}
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
if {[file isdirectory %{hpc_includedir}]} {
prepend-path C_INCLUDE_PATH %{hpc_includedir}
prepend-path INCLUDE %{hpc_includedir}
}
setenv %{hpc_upcase %pname}_DIR %{hpc_prefix}
setenv %{hpc_upcase %pname}_LIB %{hpc_libdir}
EOF
%check %check
%hpc_setup source %{p_bindir}/mpivars.sh
export CC=mpicc export CC=mpicc
export CXX=mpicxx export CXX=mpicxx
export FC=mpifort export FC=mpifort
@@ -326,22 +173,17 @@ export FFLAGS="-std=legacy"
LD_LIBRARY_PATH=$(pwd)${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} LD_LIBRARY_PATH=$(pwd)${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
make FFLAGS+=${FFLAGS} check || exit 0 make FFLAGS+=${FFLAGS} check || exit 0
%postun
%hpc_module_delete_if_default
%files %files
%{hpc_dirs} %{p_libdir}/*so
%{hpc_modules_files} %{p_bindir}
%{hpc_libdir}/*so
%{hpc_bindir}
%files doc %files doc
%{_docdir}/%{name}/ %{_docdir}/%{name}/
%files devel %files devel
%{hpc_includedir} %{p_incdir}
%files devel-static %files devel-static
%{hpc_libdir}/*.a %{p_libdir}/*.a
%changelog %changelog

29
reproducible.patch Normal file
View File

@@ -0,0 +1,29 @@
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Date: Wed, 9 Apr 2025 05:44:50 +0200
Subject: [PATCH] Allow to omit build time and hostname
for reproducible builds.
Alternatively, this part can also be dropped completely.
This patch was done while working on reproducible builds for openSUSE.
diff --git a/make-wrappers.py b/make-wrappers.py
index 809d0e4..c96f3b3 100755
--- a/make-wrappers.py
+++ make-wrappers.py
@@ -924,9 +924,10 @@ def StandardFileHeader(fname):
olist = []
olist.append("/* " + fname + " */\n")
olist.append("/* DO NOT EDIT -- AUTOMATICALLY GENERATED! */\n")
- olist.append("/* Timestamp: " + time.strftime("%d %B %Y %H:%M", time.localtime(time.time())) + " */\n")
- olist.append("/* Location: " + socket.gethostname () + " " + os.name + " */\n")
- olist.append("/* Creator: " + os.environ["LOGNAME"] + " */\n")
+ if not os.getenv("SOURCE_DATE_EPOCH"):
+ olist.append("/* Timestamp: " + time.strftime("%d %B %Y %H:%M", time.localtime(time.time())) + " */\n")
+ olist.append("/* Location: " + socket.gethostname () + " " + os.name + " */\n")
+ olist.append("/* Creator: " + os.environ["LOGNAME"] + " */\n")
olist.append("\n")
olist.append("\n")
return olist