Auto sync2gitlab import of mpich-3.4.2-1.el8.src.rpm
This commit is contained in:
parent
5849a6eb54
commit
91ca3506cc
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/mpich-3.4.2.tar.gz
|
74
0001-Drop-real128.patch
Normal file
74
0001-Drop-real128.patch
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
From 8f0c71281b5dccd70a3f1d4204e3cc6bc7201ceb Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?=
|
||||||
|
<zbyszek@arm03-packager01.cloud.fedoraproject.org>
|
||||||
|
Date: Wed, 28 Aug 2019 10:57:55 +0000
|
||||||
|
Subject: [PATCH] Drop real128
|
||||||
|
|
||||||
|
https://github.com/pmodels/mpich/issues/4005
|
||||||
|
---
|
||||||
|
.../fortran/use_mpi_f08/mpi_f08_types.f90 | 24 -------------------
|
||||||
|
1 file changed, 24 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90 b/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90
|
||||||
|
index f8b0fa811..46bdf6972 100644
|
||||||
|
--- a/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90
|
||||||
|
+++ b/src/binding/fortran/use_mpi_f08/mpi_f08_types.f90
|
||||||
|
@@ -248,10 +248,8 @@ interface MPI_Sizeof
|
||||||
|
module procedure MPI_Sizeof_xint64
|
||||||
|
module procedure MPI_Sizeof_xreal32
|
||||||
|
module procedure MPI_Sizeof_xreal64
|
||||||
|
- module procedure MPI_Sizeof_xreal128
|
||||||
|
module procedure MPI_Sizeof_xcomplex32
|
||||||
|
module procedure MPI_Sizeof_xcomplex64
|
||||||
|
- module procedure MPI_Sizeof_xcomplex128
|
||||||
|
end interface
|
||||||
|
|
||||||
|
private :: MPI_Sizeof_character
|
||||||
|
@@ -263,10 +261,8 @@ private :: MPI_Sizeof_xint32
|
||||||
|
private :: MPI_Sizeof_xint64
|
||||||
|
private :: MPI_Sizeof_xreal32
|
||||||
|
private :: MPI_Sizeof_xreal64
|
||||||
|
-private :: MPI_Sizeof_xreal128
|
||||||
|
private :: MPI_Sizeof_xcomplex32
|
||||||
|
private :: MPI_Sizeof_xcomplex64
|
||||||
|
-private :: MPI_Sizeof_xcomplex128
|
||||||
|
|
||||||
|
contains
|
||||||
|
|
||||||
|
@@ -350,16 +346,6 @@ subroutine MPI_Sizeof_xreal64 (x, size, ierror)
|
||||||
|
ierror = 0
|
||||||
|
end subroutine MPI_Sizeof_xreal64
|
||||||
|
|
||||||
|
-subroutine MPI_Sizeof_xreal128 (x, size, ierror)
|
||||||
|
- use,intrinsic :: iso_fortran_env, only: real128
|
||||||
|
- real(real128),dimension(..) :: x
|
||||||
|
- integer, intent(out) :: size
|
||||||
|
- integer, optional, intent(out) :: ierror
|
||||||
|
-
|
||||||
|
- size = storage_size(x)/8
|
||||||
|
- ierror = 0
|
||||||
|
-end subroutine MPI_Sizeof_xreal128
|
||||||
|
-
|
||||||
|
subroutine MPI_Sizeof_xcomplex32 (x, size, ierror)
|
||||||
|
use,intrinsic :: iso_fortran_env, only: real32
|
||||||
|
complex(real32),dimension(..) :: x
|
||||||
|
@@ -380,16 +366,6 @@ subroutine MPI_Sizeof_xcomplex64 (x, size, ierror)
|
||||||
|
ierror = 0
|
||||||
|
end subroutine MPI_Sizeof_xcomplex64
|
||||||
|
|
||||||
|
-subroutine MPI_Sizeof_xcomplex128 (x, size, ierror)
|
||||||
|
- use,intrinsic :: iso_fortran_env, only: real128
|
||||||
|
- complex(real128),dimension(..) :: x
|
||||||
|
- integer, intent(out) :: size
|
||||||
|
- integer, optional, intent(out) :: ierror
|
||||||
|
-
|
||||||
|
- size = storage_size(x)/8
|
||||||
|
- ierror = 0
|
||||||
|
-end subroutine MPI_Sizeof_xcomplex128
|
||||||
|
-
|
||||||
|
subroutine MPI_Status_f2f08(f_status, f08_status, ierror)
|
||||||
|
integer, intent(in) :: f_status(MPI_STATUS_SIZE)
|
||||||
|
type(MPI_Status), intent(out) :: f08_status
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
268
0001-Revert-Remove-use-of-vasprintf.patch
Normal file
268
0001-Revert-Remove-use-of-vasprintf.patch
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
From 6c286621ff551eed1dca5afaf08aeaa41eabd96d Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Sat, 30 Jan 2021 13:05:26 +0100
|
||||||
|
Subject: [PATCH] Revert "Remove use of vasprintf"
|
||||||
|
|
||||||
|
This reverts commit 1f0713f80303154d07d9221a7398b6fbc5c0fa6d.
|
||||||
|
|
||||||
|
$ valgrind ./modules/json-c/tests/test_json_pointer
|
||||||
|
==56== Memcheck, a memory error detector
|
||||||
|
==56== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
|
||||||
|
==56== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
|
||||||
|
==56== Command: ./modules/json-c/tests/test_json_pointer
|
||||||
|
==56==
|
||||||
|
PASSED - GET - LOADED TEST JSON
|
||||||
|
{ "foo": [ "bar", "baz" ], "": 0, "a\/b": 1, "c%d": 2, "e^f": 3, "g|h": 4, "i\\j": 5, "k\"l": 6, " ": 7, "m~n": 8 }
|
||||||
|
PASSED - GET - ENTIRE OBJECT WORKED
|
||||||
|
PASSED - GET - /foo == ['bar', 'baz']
|
||||||
|
PASSED - GET - /foo/0 == 'bar'
|
||||||
|
PASSED - GET - / == 0
|
||||||
|
PASSED - GET - /a~1b == 1
|
||||||
|
PASSED - GET - /c%d == 2
|
||||||
|
PASSED - GET - /e^f == 3
|
||||||
|
PASSED - GET - /g|h == 4
|
||||||
|
PASSED - GET - /i\j == 5
|
||||||
|
PASSED - GET - /k"l == 6
|
||||||
|
PASSED - GET - / == 7
|
||||||
|
PASSED - GET - /m~0n == 8
|
||||||
|
PASSED - GET - LOADED TEST JSON
|
||||||
|
{ "foo": [ "bar", "baz" ], "": 0, "a\/b": 1, "c%d": 2, "e^f": 3, "g|h": 4, "i\\j": 5, "k\"l": 6, " ": 7, "m~n": 8 }
|
||||||
|
PASSED - GET - MISSING /
|
||||||
|
PASSED - GET - NULL INPUTS
|
||||||
|
==56== Invalid write of size 1
|
||||||
|
==56== at 0x48D0F75: _IO_default_xsputn (in /usr/lib64/libc-2.32.9000.so)
|
||||||
|
==56== by 0x48B954F: __vfprintf_internal (in /usr/lib64/libc-2.32.9000.so)
|
||||||
|
==56== by 0x48C54F3: __vsprintf_internal (in /usr/lib64/libc-2.32.9000.so)
|
||||||
|
==56== by 0x110C34: UnknownInlinedFun (stdio2.h:52)
|
||||||
|
==56== by 0x110C34: json_vasprintf.constprop.0 (vasprintf_compat.h:34)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== Invalid write of size 1
|
||||||
|
==56== at 0x48C54F9: __vsprintf_internal (in /usr/lib64/libc-2.32.9000.so)
|
||||||
|
==56== by 0x110C34: UnknownInlinedFun (stdio2.h:52)
|
||||||
|
==56== by 0x110C34: json_vasprintf.constprop.0 (vasprintf_compat.h:34)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a29 is 2 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== Invalid read of size 1
|
||||||
|
==56== at 0x483F800: __strchr_sse2 (vg_replace_strmem.c:248)
|
||||||
|
==56== by 0x10CCDC: json_pointer_get_recursive (json_pointer.c:152)
|
||||||
|
==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== Invalid write of size 1
|
||||||
|
==56== at 0x10CCE5: json_pointer_get_recursive (json_pointer.c:154)
|
||||||
|
==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== Invalid read of size 1
|
||||||
|
==56== at 0x483FBE4: __strlen_sse2 (vg_replace_strmem.c:461)
|
||||||
|
==56== by 0x10CB0B: string_replace_all_occurrences_with_char (json_pointer.c:30)
|
||||||
|
==56== by 0x10CD47: UnknownInlinedFun (json_pointer.c:100)
|
||||||
|
==56== by 0x10CD47: json_pointer_get_recursive (json_pointer.c:157)
|
||||||
|
==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== Invalid read of size 1
|
||||||
|
==56== at 0x4844510: strstr (vg_replace_strmem.c:1642)
|
||||||
|
==56== by 0x10CB53: string_replace_all_occurrences_with_char (json_pointer.c:33)
|
||||||
|
==56== by 0x10CD47: UnknownInlinedFun (json_pointer.c:100)
|
||||||
|
==56== by 0x10CD47: json_pointer_get_recursive (json_pointer.c:157)
|
||||||
|
==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== Invalid read of size 1
|
||||||
|
==56== at 0x483FBE4: __strlen_sse2 (vg_replace_strmem.c:461)
|
||||||
|
==56== by 0x10CB0B: string_replace_all_occurrences_with_char (json_pointer.c:30)
|
||||||
|
==56== by 0x10CD5B: UnknownInlinedFun (json_pointer.c:101)
|
||||||
|
==56== by 0x10CD5B: json_pointer_get_recursive (json_pointer.c:157)
|
||||||
|
==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== Invalid read of size 1
|
||||||
|
==56== at 0x4844510: strstr (vg_replace_strmem.c:1642)
|
||||||
|
==56== by 0x10CB53: string_replace_all_occurrences_with_char (json_pointer.c:33)
|
||||||
|
==56== by 0x10CD5B: UnknownInlinedFun (json_pointer.c:101)
|
||||||
|
==56== by 0x10CD5B: json_pointer_get_recursive (json_pointer.c:157)
|
||||||
|
==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== Invalid read of size 1
|
||||||
|
==56== at 0x483FBE4: __strlen_sse2 (vg_replace_strmem.c:461)
|
||||||
|
==56== by 0x10DAD3: lh_char_hash (linkhash.c:480)
|
||||||
|
==56== by 0x10CDCA: UnknownInlinedFun (linkhash.h:346)
|
||||||
|
==56== by 0x10CDCA: UnknownInlinedFun (linkhash.c:625)
|
||||||
|
==56== by 0x10CDCA: UnknownInlinedFun (linkhash.c:630)
|
||||||
|
==56== by 0x10CDCA: UnknownInlinedFun (json_object.c:547)
|
||||||
|
==56== by 0x10CDCA: UnknownInlinedFun (json_object.c:535)
|
||||||
|
==56== by 0x10CDCA: UnknownInlinedFun (json_pointer.c:103)
|
||||||
|
==56== by 0x10CDCA: json_pointer_get_recursive (json_pointer.c:157)
|
||||||
|
==56== by 0x110F07: json_pointer_getf.constprop.0 (json_pointer.c:223)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56== Address 0x4a24a27 is 0 bytes after a block of size 7 alloc'd
|
||||||
|
==56== at 0x483C805: malloc (vg_replace_malloc.c:307)
|
||||||
|
==56== by 0x110C12: json_vasprintf.constprop.0 (vasprintf_compat.h:31)
|
||||||
|
==56== by 0x110EBF: json_pointer_getf.constprop.0 (json_pointer.c:211)
|
||||||
|
==56== by 0x10AAE7: UnknownInlinedFun (test_json_pointer.c:199)
|
||||||
|
==56== by 0x10AAE7: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
test_json_pointer: test_json_pointer.c:200: test_wrong_inputs_get: Assertion `errno == EINVAL' failed.
|
||||||
|
==56==
|
||||||
|
==56== Process terminating with default action of signal 6 (SIGABRT)
|
||||||
|
==56== at 0x488A282: raise (in /usr/lib64/libc-2.32.9000.so)
|
||||||
|
==56== by 0x48738A3: abort (in /usr/lib64/libc-2.32.9000.so)
|
||||||
|
==56== by 0x4873788: __assert_fail_base.cold (in /usr/lib64/libc-2.32.9000.so)
|
||||||
|
==56== by 0x4882A05: __assert_fail (in /usr/lib64/libc-2.32.9000.so)
|
||||||
|
==56== by 0x10B8F8: UnknownInlinedFun (test_json_pointer.c:200)
|
||||||
|
==56== by 0x10B8F8: main (test_json_pointer.c:314)
|
||||||
|
==56==
|
||||||
|
==56== HEAP SUMMARY:
|
||||||
|
==56== in use at exit: 2,307 bytes in 29 blocks
|
||||||
|
==56== total heap usage: 130 allocs, 101 frees, 10,302 bytes allocated
|
||||||
|
==56==
|
||||||
|
==56== LEAK SUMMARY:
|
||||||
|
==56== definitely lost: 0 bytes in 0 blocks
|
||||||
|
==56== indirectly lost: 0 bytes in 0 blocks
|
||||||
|
==56== possibly lost: 0 bytes in 0 blocks
|
||||||
|
==56== still reachable: 2,307 bytes in 29 blocks
|
||||||
|
==56== suppressed: 0 bytes in 0 blocks
|
||||||
|
==56== Rerun with --leak-check=full to see details of leaked memory
|
||||||
|
==56==
|
||||||
|
==56== For lists of detected and suppressed errors, rerun with: -s
|
||||||
|
==56== ERROR SUMMARY: 10 errors from 9 contexts (suppressed: 0 from 0)
|
||||||
|
Aborted (core dumped)
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
json_pointer.c | 4 ++--
|
||||||
|
printbuf.c | 2 +-
|
||||||
|
vasprintf_compat.h | 4 +++-
|
||||||
|
4 files changed, 7 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 9eb80bcf1c..f61fcccf24 100644
|
||||||
|
--- a/modules/json-c/configure.ac
|
||||||
|
+++ b/modules/json-c/configure.ac
|
||||||
|
@@ -81,7 +81,7 @@ AS_IF([test "x$ac_cv___thread" != xno],
|
||||||
|
AC_FUNC_VPRINTF
|
||||||
|
AC_FUNC_MEMCMP
|
||||||
|
AC_CHECK_FUNCS([realloc])
|
||||||
|
-AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf open strncasecmp setlocale)
|
||||||
|
+AC_CHECK_FUNCS(strcasecmp strdup strerror snprintf vsnprintf vasprintf open strncasecmp setlocale)
|
||||||
|
AC_CHECK_DECLS([INFINITY], [], [], [[#include <math.h>]])
|
||||||
|
AC_CHECK_DECLS([nan], [], [], [[#include <math.h>]])
|
||||||
|
AC_CHECK_DECLS([isnan], [], [], [[#include <math.h>]])
|
||||||
|
diff --git a/modules/json-c/json_pointer.c b/modules/json-c/json_pointer.c
|
||||||
|
index 3b43eb2f40..9531c036c8 100644
|
||||||
|
--- a/modules/json-c/json_pointer.c
|
||||||
|
+++ b/modules/json-c/json_pointer.c
|
||||||
|
@@ -208,7 +208,7 @@ int json_pointer_getf(struct json_object *obj, struct json_object **res, const c
|
||||||
|
}
|
||||||
|
|
||||||
|
va_start(args, path_fmt);
|
||||||
|
- rc = json_vasprintf(&path_copy, path_fmt, args);
|
||||||
|
+ rc = vasprintf(&path_copy, path_fmt, args);
|
||||||
|
va_end(args);
|
||||||
|
|
||||||
|
if (rc < 0)
|
||||||
|
@@ -287,7 +287,7 @@ int json_pointer_setf(struct json_object **obj, struct json_object *value, const
|
||||||
|
|
||||||
|
/* pass a working copy to the recursive call */
|
||||||
|
va_start(args, path_fmt);
|
||||||
|
- rc = json_vasprintf(&path_copy, path_fmt, args);
|
||||||
|
+ rc = vasprintf(&path_copy, path_fmt, args);
|
||||||
|
va_end(args);
|
||||||
|
|
||||||
|
if (rc < 0)
|
||||||
|
diff --git a/modules/json-c/printbuf.c b/modules/json-c/printbuf.c
|
||||||
|
index b326293b01..6c77b5defd 100644
|
||||||
|
--- a/modules/json-c/printbuf.c
|
||||||
|
+++ b/modules/json-c/printbuf.c
|
||||||
|
@@ -129,7 +129,7 @@ int sprintbuf(struct printbuf *p, const char *msg, ...)
|
||||||
|
would have been written - this code handles both cases. */
|
||||||
|
if(size == -1 || size > 127) {
|
||||||
|
va_start(ap, msg);
|
||||||
|
- if((size = json_vasprintf(&t, msg, ap)) < 0) { va_end(ap); return -1; }
|
||||||
|
+ if((size = vasprintf(&t, msg, ap)) < 0) { va_end(ap); return -1; }
|
||||||
|
va_end(ap);
|
||||||
|
printbuf_memappend(p, t, size);
|
||||||
|
free(t);
|
||||||
|
diff --git a/modules/json-c/vasprintf_compat.h b/modules/json-c/vasprintf_compat.h
|
||||||
|
index b57f30f64c..43dbf8939c 100644
|
||||||
|
--- a/modules/json-c/vasprintf_compat.h
|
||||||
|
+++ b/modules/json-c/vasprintf_compat.h
|
||||||
|
@@ -8,8 +8,9 @@
|
||||||
|
|
||||||
|
#include "snprintf_compat.h"
|
||||||
|
|
||||||
|
+#if !defined(HAVE_VASPRINTF)
|
||||||
|
/* CAW: compliant version of vasprintf */
|
||||||
|
-static int json_vasprintf(char **buf, const char *fmt, va_list ap)
|
||||||
|
+static int vasprintf(char **buf, const char *fmt, va_list ap)
|
||||||
|
{
|
||||||
|
#ifndef WIN32
|
||||||
|
static char _T_emptybuffer = '\0';
|
||||||
|
@@ -40,5 +41,6 @@ static int json_vasprintf(char **buf, const char *fmt, va_list ap)
|
||||||
|
|
||||||
|
return chars;
|
||||||
|
}
|
||||||
|
+#endif /* !HAVE_VASPRINTF */
|
||||||
|
|
||||||
|
#endif /* __vasprintf_compat_h */
|
160
fix_wrapper_flags.patch
Normal file
160
fix_wrapper_flags.patch
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
diff -Naur mpich-3.3.2.orig/src/env/mpicc.bash.in mpich-3.3.2/src/env/mpicc.bash.in
|
||||||
|
--- mpich-3.3.2.orig/src/env/mpicc.bash.in 2020-08-06 00:42:51.089874000 +0000
|
||||||
|
+++ mpich-3.3.2/src/env/mpicc.bash.in 2020-08-06 00:49:34.849138000 +0000
|
||||||
|
@@ -214,13 +214,13 @@
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
-final_cflags="@MPICH_MPICC_CFLAGS@ @WRAPPER_CFLAGS@"
|
||||||
|
-final_cppflags="@MPICH_MPICC_CPPFLAGS@ @WRAPPER_CPPFLAGS@"
|
||||||
|
-final_ldflags="@MPICH_MPICC_LDFLAGS@ @WRAPPER_LDFLAGS@"
|
||||||
|
+final_cflags="@MPICH_MPICC_CFLAGS@ "
|
||||||
|
+final_cppflags="@MPICH_MPICC_CPPFLAGS@ "
|
||||||
|
+final_ldflags="@MPICH_MPICC_LDFLAGS@ "
|
||||||
|
final_libs="@MPICH_MPICC_LIBS@"
|
||||||
|
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
|
||||||
|
final_ldflags="${final_ldflags} @LDFLAGS@"
|
||||||
|
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
|
||||||
|
+ final_libs="${final_libs} @LIBS@ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------
|
||||||
|
diff -Naur mpich-3.3.2.orig/src/env/mpicc.sh.in mpich-3.3.2/src/env/mpicc.sh.in
|
||||||
|
--- mpich-3.3.2.orig/src/env/mpicc.sh.in 2020-08-06 00:42:51.090874000 +0000
|
||||||
|
+++ mpich-3.3.2/src/env/mpicc.sh.in 2020-08-06 00:49:34.849138000 +0000
|
||||||
|
@@ -223,13 +223,13 @@
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
-final_cflags="@MPICH_MPICC_CFLAGS@ @WRAPPER_CFLAGS@"
|
||||||
|
-final_cppflags="@MPICH_MPICC_CPPFLAGS@ @WRAPPER_CPPFLAGS@"
|
||||||
|
-final_ldflags="@MPICH_MPICC_LDFLAGS@ @WRAPPER_LDFLAGS@"
|
||||||
|
+final_cflags="@MPICH_MPICC_CFLAGS@ "
|
||||||
|
+final_cppflags="@MPICH_MPICC_CPPFLAGS@ "
|
||||||
|
+final_ldflags="@MPICH_MPICC_LDFLAGS@ "
|
||||||
|
final_libs="@MPICH_MPICC_LIBS@"
|
||||||
|
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
|
||||||
|
final_ldflags="${final_ldflags} @LDFLAGS@"
|
||||||
|
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
|
||||||
|
+ final_libs="${final_libs} @LIBS@ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------
|
||||||
|
diff -Naur mpich-3.3.2.orig/src/env/mpicxx.bash.in mpich-3.3.2/src/env/mpicxx.bash.in
|
||||||
|
--- mpich-3.3.2.orig/src/env/mpicxx.bash.in 2020-08-06 00:42:51.090874000 +0000
|
||||||
|
+++ mpich-3.3.2/src/env/mpicxx.bash.in 2020-08-06 00:49:34.849138000 +0000
|
||||||
|
@@ -220,13 +220,13 @@
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
-final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ @WRAPPER_CXXFLAGS@"
|
||||||
|
-final_cppflags="@MPICH_MPICXX_CPPFLAGS@ @WRAPPER_CPPFLAGS@"
|
||||||
|
-final_ldflags="@MPICH_MPICXX_LDFLAGS@ @WRAPPER_LDFLAGS@"
|
||||||
|
+final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ "
|
||||||
|
+final_cppflags="@MPICH_MPICXX_CPPFLAGS@ "
|
||||||
|
+final_ldflags="@MPICH_MPICXX_LDFLAGS@ "
|
||||||
|
final_libs="@MPICH_MPICXX_LIBS@"
|
||||||
|
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
|
||||||
|
final_ldflags="${final_ldflags} @LDFLAGS@"
|
||||||
|
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
|
||||||
|
+ final_libs="${final_libs} @LIBS@ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
# A temporary statement to invoke the compiler
|
||||||
|
diff -Naur mpich-3.3.2.orig/src/env/mpicxx.sh.in mpich-3.3.2/src/env/mpicxx.sh.in
|
||||||
|
--- mpich-3.3.2.orig/src/env/mpicxx.sh.in 2020-08-06 00:42:51.090874000 +0000
|
||||||
|
+++ mpich-3.3.2/src/env/mpicxx.sh.in 2020-08-06 00:49:34.850138000 +0000
|
||||||
|
@@ -229,13 +229,13 @@
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
-final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ @WRAPPER_CXXFLAGS@"
|
||||||
|
-final_cppflags="@MPICH_MPICXX_CPPFLAGS@ @WRAPPER_CPPFLAGS@"
|
||||||
|
-final_ldflags="@MPICH_MPICXX_LDFLAGS@ @WRAPPER_LDFLAGS@"
|
||||||
|
+final_cxxflags="@MPICH_MPICXX_CXXFLAGS@ "
|
||||||
|
+final_cppflags="@MPICH_MPICXX_CPPFLAGS@ "
|
||||||
|
+final_ldflags="@MPICH_MPICXX_LDFLAGS@ "
|
||||||
|
final_libs="@MPICH_MPICXX_LIBS@"
|
||||||
|
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
|
||||||
|
final_ldflags="${final_ldflags} @LDFLAGS@"
|
||||||
|
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
|
||||||
|
+ final_libs="${final_libs} @LIBS@ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
# A temporary statement to invoke the compiler
|
||||||
|
diff -Naur mpich-3.3.2.orig/src/env/mpif77.bash.in mpich-3.3.2/src/env/mpif77.bash.in
|
||||||
|
--- mpich-3.3.2.orig/src/env/mpif77.bash.in 2020-08-06 00:42:51.090874000 +0000
|
||||||
|
+++ mpich-3.3.2/src/env/mpif77.bash.in 2020-08-06 00:49:34.852138000 +0000
|
||||||
|
@@ -272,12 +272,12 @@
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
-final_fflags="@MPICH_MPIF77_FFLAGS@ @WRAPPER_FFLAGS@"
|
||||||
|
-final_ldflags="@MPICH_MPIF77_LDFLAGS@ @WRAPPER_LDFLAGS@"
|
||||||
|
+final_fflags="@MPICH_MPIF77_FFLAGS@ "
|
||||||
|
+final_ldflags="@MPICH_MPIF77_LDFLAGS@ "
|
||||||
|
final_libs="@MPICH_MPIF77_LIBS@"
|
||||||
|
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
|
||||||
|
final_ldflags="${final_ldflags} @LDFLAGS@"
|
||||||
|
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
|
||||||
|
+ final_libs="${final_libs} @LIBS@ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
# A temporary statement to invoke the compiler
|
||||||
|
diff -Naur mpich-3.3.2.orig/src/env/mpif77.sh.in mpich-3.3.2/src/env/mpif77.sh.in
|
||||||
|
--- mpich-3.3.2.orig/src/env/mpif77.sh.in 2020-08-06 00:42:51.090874000 +0000
|
||||||
|
+++ mpich-3.3.2/src/env/mpif77.sh.in 2020-08-06 00:49:34.852138000 +0000
|
||||||
|
@@ -294,12 +294,12 @@
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
-final_fflags="@MPICH_MPIF77_FFLAGS@ @WRAPPER_FFLAGS@"
|
||||||
|
-final_ldflags="@MPICH_MPIF77_LDFLAGS@ @WRAPPER_LDFLAGS@"
|
||||||
|
+final_fflags="@MPICH_MPIF77_FFLAGS@ "
|
||||||
|
+final_ldflags="@MPICH_MPIF77_LDFLAGS@ "
|
||||||
|
final_libs="@MPICH_MPIF77_LIBS@"
|
||||||
|
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
|
||||||
|
final_ldflags="${final_ldflags} @LDFLAGS@"
|
||||||
|
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
|
||||||
|
+ final_libs="${final_libs} @LIBS@ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
# A temporary statement to invoke the compiler
|
||||||
|
diff -Naur mpich-3.3.2.orig/src/env/mpifort.bash.in mpich-3.3.2/src/env/mpifort.bash.in
|
||||||
|
--- mpich-3.3.2.orig/src/env/mpifort.bash.in 2020-08-06 00:42:51.090874000 +0000
|
||||||
|
+++ mpich-3.3.2/src/env/mpifort.bash.in 2020-08-06 00:49:34.854138000 +0000
|
||||||
|
@@ -313,12 +313,12 @@
|
||||||
|
FCMODDIRS="${FCMODINC}$modincdir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
-final_fcflags="@MPICH_MPIFORT_FCFLAGS@ @WRAPPER_FCFLAGS@"
|
||||||
|
-final_ldflags="@MPICH_MPIFORT_LDFLAGS@ @WRAPPER_LDFLAGS@"
|
||||||
|
+final_fcflags="@MPICH_MPIFORT_FCFLAGS@ "
|
||||||
|
+final_ldflags="@MPICH_MPIFORT_LDFLAGS@ "
|
||||||
|
final_libs="@MPICH_MPIFORT_LIBS@"
|
||||||
|
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
|
||||||
|
final_ldflags="${final_ldflags} @LDFLAGS@"
|
||||||
|
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
|
||||||
|
+ final_libs="${final_libs} @LIBS@ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
# A temporary statement to invoke the compiler
|
||||||
|
diff -Naur mpich-3.3.2.orig/src/env/mpifort.sh.in mpich-3.3.2/src/env/mpifort.sh.in
|
||||||
|
--- mpich-3.3.2.orig/src/env/mpifort.sh.in 2020-08-06 00:42:51.090874000 +0000
|
||||||
|
+++ mpich-3.3.2/src/env/mpifort.sh.in 2020-08-06 00:49:34.854138000 +0000
|
||||||
|
@@ -330,12 +330,12 @@
|
||||||
|
FCMODDIRS="${FCMODINC}$modincdir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
-final_fcflags="@MPICH_MPIFORT_FCFLAGS@ @WRAPPER_FCFLAGS@"
|
||||||
|
-final_ldflags="@MPICH_MPIFORT_LDFLAGS@ @WRAPPER_LDFLAGS@"
|
||||||
|
+final_fcflags="@MPICH_MPIFORT_FCFLAGS@ "
|
||||||
|
+final_ldflags="@MPICH_MPIFORT_LDFLAGS@ "
|
||||||
|
final_libs="@MPICH_MPIFORT_LIBS@"
|
||||||
|
if test "@INTERLIB_DEPS@" = "no" -o "${interlib_deps}" = "no" ; then
|
||||||
|
final_ldflags="${final_ldflags} @LDFLAGS@"
|
||||||
|
- final_libs="${final_libs} @LIBS@ @WRAPPER_LIBS@"
|
||||||
|
+ final_libs="${final_libs} @LIBS@ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
# A temporary statement to invoke the compiler
|
33
mpich-modules.patch
Normal file
33
mpich-modules.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
--- mpich-3.2.1/src/packaging/envmods/mpich.module.in.orig 2017-11-11 03:19:44.000000000 +0100
|
||||||
|
+++ mpich-3.2.1/src/packaging/envmods/mpich.module.in 2018-04-04 14:14:16.553160669 +0200
|
||||||
|
@@ -3,12 +3,23 @@
|
||||||
|
# MPICH module for use with 'environment-modules' package:
|
||||||
|
#
|
||||||
|
|
||||||
|
+# Only allow one mpi module to be loaded at a time
|
||||||
|
+conflict mpi
|
||||||
|
+
|
||||||
|
# Define prefix so PATH and MANPATH can be updated.
|
||||||
|
-setenv prefix @prefix@
|
||||||
|
-setenv exec_prefix @exec_prefix@
|
||||||
|
+setenv MPI_BIN @LIBDIR@/bin
|
||||||
|
+setenv MPI_SYSCONFIG @sysconfdir@/@MPINAME@-@ARCH@
|
||||||
|
+setenv MPI_FORTRAN_MOD_DIR @fortranmoddir@/@MPINAME@
|
||||||
|
+setenv MPI_INCLUDE @includedir@
|
||||||
|
+setenv MPI_LIB @libdir@
|
||||||
|
+setenv MPI_MAN @mandir@
|
||||||
|
+setenv MPI_PYTHON_SITEARCH @py3sitearch@/@MPINAME@
|
||||||
|
+setenv MPI_PYTHON2_SITEARCH @py3sitearch@/@MPINAME@
|
||||||
|
+setenv MPI_PYTHON3_SITEARCH @py3sitearch@/@MPINAME@
|
||||||
|
+setenv MPI_COMPILER @MPINAME@-@ARCH@
|
||||||
|
+setenv MPI_SUFFIX _@MPINAME@
|
||||||
|
+setenv MPI_HOME @LIBDIR@
|
||||||
|
prepend-path PATH @bindir@
|
||||||
|
-prepend-path MANPATH @mandir@
|
||||||
|
-
|
||||||
|
-# Undefine prefix and exec_prefix which are too generic environment variables.
|
||||||
|
-unsetenv prefix
|
||||||
|
-unsetenv exec_prefix
|
||||||
|
+prepend-path LD_LIBRARY_PATH @libdir@
|
||||||
|
+prepend-path MANPATH :@mandir@
|
||||||
|
+prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig
|
7
mpich.macros
Normal file
7
mpich.macros
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
%_mpich_load \
|
||||||
|
. /etc/profile.d/modules.sh; \
|
||||||
|
module load mpi/mpich-%{_arch}; \
|
||||||
|
export CFLAGS="$CFLAGS %{optflags}";
|
||||||
|
%_mpich_unload \
|
||||||
|
. /etc/profile.d/modules.sh; \
|
||||||
|
module unload mpi/mpich-%{_arch};
|
1
mpich.pth.py3
Normal file
1
mpich.pth.py3
Normal file
@ -0,0 +1 @@
|
|||||||
|
import sys, os; s = os.getenv('MPI_PYTHON3_SITEARCH'); s and (s in sys.path or sys.path.append(s))
|
443
mpich.spec
Normal file
443
mpich.spec
Normal file
@ -0,0 +1,443 @@
|
|||||||
|
Summary: A high-performance implementation of MPI
|
||||||
|
Name: mpich
|
||||||
|
Version: 3.4.2
|
||||||
|
Release: 1%{?dist}
|
||||||
|
License: MIT
|
||||||
|
URL: https://www.mpich.org/
|
||||||
|
|
||||||
|
Source0: https://www.mpich.org/static/downloads/%{version}/%{name}-%{version}.tar.gz
|
||||||
|
Source1: mpich.macros
|
||||||
|
Source2: mpich.pth.py3
|
||||||
|
Patch0: mpich-modules.patch
|
||||||
|
Patch1: 0001-Drop-real128.patch
|
||||||
|
# Drop build flags, e.g. -specs... and -lto from mpi wrappers (mpicc and mpicxx)
|
||||||
|
# for discussion see:
|
||||||
|
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/7TFWEKTDWBYBHEGMIWBVI3AVGORZGNBS/
|
||||||
|
Patch3: fix_wrapper_flags.patch
|
||||||
|
# https://github.com/pmodels/mpich/issues/4534
|
||||||
|
Patch4: 0001-Revert-Remove-use-of-vasprintf.patch
|
||||||
|
|
||||||
|
BuildRequires: make
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: gcc-gfortran
|
||||||
|
BuildRequires: hwloc-devel >= 2.2.0
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: automake
|
||||||
|
BuildRequires: libtool
|
||||||
|
# For ./maint/extractcvars
|
||||||
|
BuildRequires: perl(lib)
|
||||||
|
%ifnarch s390 %{mips}
|
||||||
|
BuildRequires: valgrind-devel
|
||||||
|
%endif
|
||||||
|
# For %%{python3_sitearch}
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: rpm-mpi-hooks
|
||||||
|
Provides: mpi
|
||||||
|
Requires: environment(modules)
|
||||||
|
|
||||||
|
# Make sure this package is rebuilt with correct Python version when updating
|
||||||
|
# Otherwise mpi.req from rpm-mpi-hooks doesn't work
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1705296
|
||||||
|
Requires: (python(abi) = %{python3_version} if python3)
|
||||||
|
|
||||||
|
%description
|
||||||
|
MPICH is a high-performance and widely portable implementation of the Message
|
||||||
|
Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3). The goals of MPICH
|
||||||
|
are: (1) to provide an MPI implementation that efficiently supports different
|
||||||
|
computation and communication platforms including commodity clusters (desktop
|
||||||
|
systems, shared-memory systems, multicore architectures), high-speed networks
|
||||||
|
(10 Gigabit Ethernet, InfiniBand, Myrinet, Quadrics) and proprietary high-end
|
||||||
|
computing systems (Blue Gene, Cray) and (2) to enable cutting-edge research in
|
||||||
|
MPI through an easy-to-extend modular framework for other derived
|
||||||
|
implementations.
|
||||||
|
|
||||||
|
The mpich binaries in this RPM packages were configured to use the default
|
||||||
|
process manager (Hydra) using the default device (ch3). The ch3 device
|
||||||
|
was configured with support for the nemesis channel that allows for
|
||||||
|
shared-memory and TCP/IP sockets based communication.
|
||||||
|
|
||||||
|
This build also include support for using the 'module environment' to select
|
||||||
|
which MPI implementation to use when multiple implementations are installed.
|
||||||
|
If you want MPICH support to be automatically loaded, you need to install the
|
||||||
|
mpich-autoload package.
|
||||||
|
|
||||||
|
%package autoload
|
||||||
|
Summary: Load mpich automatically into profile
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description autoload
|
||||||
|
This package contains profile files that make mpich automatically loaded.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for mpich
|
||||||
|
Provides: %{name}-devel-static = %{version}-%{release}
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: pkgconfig
|
||||||
|
Requires: gcc-gfortran
|
||||||
|
Requires: rpm-mpi-hooks
|
||||||
|
Requires: redhat-rpm-config
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Contains development headers and libraries for mpich
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Documentations and examples for mpich
|
||||||
|
BuildArch: noarch
|
||||||
|
Requires: %{name}-devel = %{version}-%{release}
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
Contains documentations, examples and man-pages for mpich
|
||||||
|
|
||||||
|
%package -n python3-mpich
|
||||||
|
Summary: mpich support for Python 3
|
||||||
|
Provides: python-mpich
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: python(abi) = %{python3_version}
|
||||||
|
|
||||||
|
%description -n python3-mpich
|
||||||
|
mpich support for Python 3.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
|
||||||
|
%patch0 -p1
|
||||||
|
|
||||||
|
%ifarch %{arm}
|
||||||
|
%patch1 -p1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
|
%patch4 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
./autogen.sh
|
||||||
|
|
||||||
|
CONFIGURE_OPTS=(
|
||||||
|
--enable-sharedlibs=gcc
|
||||||
|
--enable-shared
|
||||||
|
--enable-static=no
|
||||||
|
--enable-lib-depend
|
||||||
|
--disable-rpath
|
||||||
|
--disable-silent-rules
|
||||||
|
--enable-fortran
|
||||||
|
--with-gnu-ld
|
||||||
|
--with-device=ch3:nemesis
|
||||||
|
--with-pm=hydra:gforker
|
||||||
|
--includedir=%{_includedir}/%{name}-%{_arch}
|
||||||
|
--bindir=%{_libdir}/%{name}/bin
|
||||||
|
--libdir=%{_libdir}/%{name}/lib
|
||||||
|
--datadir=%{_datadir}/%{name}
|
||||||
|
--mandir=%{_mandir}/%{name}-%{_arch}
|
||||||
|
--docdir=%{_datadir}/%{name}/doc
|
||||||
|
--htmldir=%{_datadir}/%{name}/doc
|
||||||
|
--with-hwloc-prefix=system
|
||||||
|
)
|
||||||
|
|
||||||
|
%configure "${CONFIGURE_OPTS[@]}"
|
||||||
|
|
||||||
|
# Remove rpath
|
||||||
|
sed -r -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
||||||
|
sed -r -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
||||||
|
|
||||||
|
#Try and work around 'unused-direct-shlib-dependency' rpmlint warnning
|
||||||
|
sed -i -e 's| -shared | -Wl,--as-needed\0|g' libtool
|
||||||
|
|
||||||
|
# work-around libtool error: cannot determine absolute directory name of 'system/lib'
|
||||||
|
mkdir -p system/lib
|
||||||
|
|
||||||
|
%make_build VERBOSE=1
|
||||||
|
|
||||||
|
%install
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_fmoddir}/%{name}
|
||||||
|
mv %{buildroot}%{_includedir}/%{name}-*/*.mod %{buildroot}%{_fmoddir}/%{name}/
|
||||||
|
sed -r -i 's|^modincdir=.*|modincdir=%{_fmoddir}/%{name}|' %{buildroot}%{_libdir}/%{name}/bin/mpifort
|
||||||
|
|
||||||
|
# Install the module file
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/modulefiles/mpi
|
||||||
|
sed -r 's|%{_bindir}|%{_libdir}/%{name}/bin|;
|
||||||
|
s|@LIBDIR@|%{_libdir}/%{name}|;
|
||||||
|
s|@MPINAME@|%{name}|;
|
||||||
|
s|@py3sitearch@|%{python3_sitearch}|;
|
||||||
|
s|@ARCH@|%{_arch}|;
|
||||||
|
s|@fortranmoddir@|%{_fmoddir}|;
|
||||||
|
' \
|
||||||
|
<src/packaging/envmods/mpich.module \
|
||||||
|
>%{buildroot}%{_datadir}/modulefiles/mpi/%{name}-%{_arch}
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/profile.d
|
||||||
|
cat >%{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.sh <<EOF
|
||||||
|
# Load mpich environment module
|
||||||
|
module load mpi/%{name}-%{_arch}
|
||||||
|
EOF
|
||||||
|
cp -p %{buildroot}%{_sysconfdir}/profile.d/mpich-%{_arch}.{sh,csh}
|
||||||
|
|
||||||
|
# Install the RPM macros
|
||||||
|
install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.%{name}
|
||||||
|
|
||||||
|
# Install the .pth files
|
||||||
|
mkdir -p %{buildroot}%{python3_sitearch}/%{name}
|
||||||
|
install -pDm0644 %{SOURCE2} %{buildroot}%{python3_sitearch}/%{name}.pth
|
||||||
|
|
||||||
|
find %{buildroot} -type f -name "*.la" -delete
|
||||||
|
|
||||||
|
%check
|
||||||
|
make check VERBOSE=1 \
|
||||||
|
%ifarch ppc64le
|
||||||
|
|| :
|
||||||
|
%endif
|
||||||
|
# The test results are ignored on ppc64le. The tests started failing
|
||||||
|
# in the bundled openpa checksuite. Upstream has already removed it,
|
||||||
|
# so the issue should resolve itself for the next release and I don't
|
||||||
|
# think it's worth the time to solve it here.
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYRIGHT
|
||||||
|
%doc CHANGES README README.envvar RELEASE_NOTES
|
||||||
|
%dir %{_libdir}/%{name}
|
||||||
|
%dir %{_libdir}/%{name}/lib
|
||||||
|
%dir %{_libdir}/%{name}/bin
|
||||||
|
%{_libdir}/%{name}/lib/*.so.*
|
||||||
|
%{_libdir}/%{name}/bin/hydra*
|
||||||
|
%{_libdir}/%{name}/bin/mpichversion
|
||||||
|
%{_libdir}/%{name}/bin/mpiexec*
|
||||||
|
%{_libdir}/%{name}/bin/mpirun
|
||||||
|
%{_libdir}/%{name}/bin/mpivars
|
||||||
|
%{_libdir}/%{name}/bin/parkill
|
||||||
|
%dir %{_mandir}/%{name}-%{_arch}
|
||||||
|
%doc %{_mandir}/%{name}-%{_arch}/man1/
|
||||||
|
%{_datadir}/modulefiles/mpi/
|
||||||
|
|
||||||
|
%files autoload
|
||||||
|
%{_sysconfdir}/profile.d/mpich-%{_arch}.*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/%{name}-%{_arch}/
|
||||||
|
%{_libdir}/%{name}/lib/pkgconfig/
|
||||||
|
%{_libdir}/%{name}/lib/*.so
|
||||||
|
%{_libdir}/%{name}/bin/mpicc
|
||||||
|
%{_libdir}/%{name}/bin/mpic++
|
||||||
|
%{_libdir}/%{name}/bin/mpicxx
|
||||||
|
%{_libdir}/%{name}/bin/mpif77
|
||||||
|
%{_libdir}/%{name}/bin/mpif90
|
||||||
|
%{_libdir}/%{name}/bin/mpifort
|
||||||
|
%{_fmoddir}/%{name}/
|
||||||
|
%{_rpmconfigdir}/macros.d/macros.%{name}
|
||||||
|
%{_mandir}/%{name}-%{_arch}/man3/
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%{_datadir}/%{name}/doc/
|
||||||
|
|
||||||
|
%files -n python3-mpich
|
||||||
|
%dir %{python3_sitearch}/%{name}
|
||||||
|
%{python3_sitearch}/%{name}.pth
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Dec 09 2021 Honggang Li <honli@redhat.com> - 3.4.2-1
|
||||||
|
- Update to latest upstream release 3.4.2
|
||||||
|
- Resolves: rhbz#2008515
|
||||||
|
|
||||||
|
* Thu May 27 2021 Honggang Li <honli@redhat.com> - 3.4.1-1
|
||||||
|
- Sync with Fedora build
|
||||||
|
- Update to latest upstream release 3.4.1
|
||||||
|
- Resolves: rhbz#1960076
|
||||||
|
|
||||||
|
* Thu Oct 15 2020 Honggang Li <honli@redhat.com> - 3.3.2-9
|
||||||
|
- Fix a dependency typo
|
||||||
|
- Related: rhbz#1850080
|
||||||
|
|
||||||
|
* Thu Oct 15 2020 Honggang Li <honli@redhat.com> - 3.3.2-8
|
||||||
|
- Sync with Fedora build
|
||||||
|
- Update to latest upstream release 3.3.2
|
||||||
|
- Resolves: rhbz#1657316, rhbz#1732982, rhbz#1850080
|
||||||
|
|
||||||
|
* Fri Sep 21 2018 Jarod Wilson <jarod@redhat.com> - 3.2.1-9
|
||||||
|
- Use proper distro compile flags throughout build
|
||||||
|
- Related: rhbz#1624144
|
||||||
|
|
||||||
|
* Thu Sep 13 2018 Jarod Wilson <jarod@redhat.com> - 3.2.1-8
|
||||||
|
- Remove python2 bits entirely, fix mpi lib dependencies
|
||||||
|
- Remove obsolete Provides/Obsoletes for mpich2
|
||||||
|
- Resolves: rhbz#1628628
|
||||||
|
|
||||||
|
* Fri Aug 3 2018 Florian Weimer <fweimer@redhat.com> - 3.2.1-7
|
||||||
|
- Honor %%{valgrind_arches}
|
||||||
|
|
||||||
|
* Thu May 17 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.2.1-6
|
||||||
|
- Do not build the python2 subpackage on EL > 7
|
||||||
|
|
||||||
|
* Wed Apr 4 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-5
|
||||||
|
- Update MANPATH so that normal man pages can still be found (#1533717)
|
||||||
|
|
||||||
|
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Feb 01 2018 Ralf Corsépius <corsepiu@fedoraproject.org> - 3.2.1-3
|
||||||
|
- Rebuilt for GCC-8.0.1.
|
||||||
|
|
||||||
|
* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-2
|
||||||
|
- Update $modincdir in mpifort after moving .mod files (#1301533)
|
||||||
|
- Move compiler wrappers to mpich-devel (#1353621)
|
||||||
|
- Remove bogus rpath (#1361586)
|
||||||
|
|
||||||
|
* Sun Nov 12 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2.1-1
|
||||||
|
- Update to latest bugfix release (#1512188)
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.2-7
|
||||||
|
- Rebuild for Python 3.6
|
||||||
|
|
||||||
|
* Wed Nov 2 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-7
|
||||||
|
- Split python support into sub-packages
|
||||||
|
|
||||||
|
* Wed Mar 30 2016 Michal Toman <mtoman@fedoraproject.org> - 3.2-6
|
||||||
|
- Fix build on MIPS
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 22 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-4
|
||||||
|
- Add patch to allow -host localhost to work on builders
|
||||||
|
|
||||||
|
* Wed Jan 20 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2-3
|
||||||
|
- Use nemesis channel on all platforms
|
||||||
|
|
||||||
|
* Wed Dec 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-2
|
||||||
|
- Soften version check (#1289779)
|
||||||
|
|
||||||
|
* Tue Dec 1 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.2-1
|
||||||
|
- Update to latest version
|
||||||
|
|
||||||
|
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-9
|
||||||
|
- Update requires and fix MPI_FORTRAN_MOD_DIR var
|
||||||
|
|
||||||
|
* Mon Nov 16 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-8
|
||||||
|
- Move fortran .mod files to %%{_fmoddir}/mpich (#1154991)
|
||||||
|
- Move man pages to arch-specific dir (#1264359)
|
||||||
|
|
||||||
|
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.4-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||||
|
|
||||||
|
* Thu Aug 27 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-6
|
||||||
|
- Use .pth files to set the python path (https://fedorahosted.org/fpc/ticket/563)
|
||||||
|
- Cleanups to the spec file
|
||||||
|
|
||||||
|
* Sun Jul 26 2015 Sandro Mani <manisandro@gmail.com> - 3.1.4-5
|
||||||
|
- Require, BuildRequire: rpm-mpi-hooks
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.4-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat May 9 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-3
|
||||||
|
- Change MPI_SYCONFIG to /etc/mpich-x86_64 (#1196728)
|
||||||
|
|
||||||
|
* Fri Mar 13 2015 Orion Poplawski <orion@cora.nwra.com> - 3.1.4-2
|
||||||
|
- Set PKG_CONFIG_DIR (bug #1113627)
|
||||||
|
- Fix modulefile names and python paths (bug#1201343)
|
||||||
|
|
||||||
|
* Wed Mar 11 2015 Orion Poplawski <orion@cora.nwra.com> - 3.1.4-1
|
||||||
|
- Update to 3.1.4
|
||||||
|
- Own and set PKG_CONFIG_DIR (bug #1113627)
|
||||||
|
- Do not ship old modulefile location (bug #921534)
|
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 21 2014 Ville Skyttä <ville.skytta@iki.fi> - 3.1-2
|
||||||
|
- Install rpm macros to %%{_rpmconfigdir}/macros.d as non-%%config.
|
||||||
|
|
||||||
|
* Fri Feb 21 2014 Deji Akingunola <dakingun@gmail.com> - 3.1-1
|
||||||
|
- Update to 3.1
|
||||||
|
|
||||||
|
* Mon Jan 6 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-7
|
||||||
|
- Set the aarch64 compiler options
|
||||||
|
|
||||||
|
* Fri Dec 13 2013 Peter Robinson <pbrobinson@fedoraproject.org> 3.0.4-6
|
||||||
|
- Now have valgrind on ARMv7
|
||||||
|
- No valgrind on aarch64
|
||||||
|
|
||||||
|
* Fri Aug 23 2013 Orion Poplawski <orion@cora.nwra.com> - 3.0.4-5
|
||||||
|
- Add %%check
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.4-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jul 20 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-3
|
||||||
|
- Add proper Provides and Obsoletes for the sub-packages
|
||||||
|
|
||||||
|
* Thu Jul 18 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-2
|
||||||
|
- Fix some of the rpmlint warnings from package review (BZ #973493)
|
||||||
|
|
||||||
|
* Wed Jun 12 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.4-1
|
||||||
|
- Update to 3.0.4
|
||||||
|
|
||||||
|
* Thu Feb 21 2013 Deji Akingunola <dakingun@gmail.com> - 3.0.2-1
|
||||||
|
- Update to 3.0.2
|
||||||
|
- Rename to mpich.
|
||||||
|
- Drop check for old alternatives' installation
|
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Nov 1 2012 Orion Poplawski <orion@cora.nwra.com> - 1.5-1
|
||||||
|
- Update to 1.5
|
||||||
|
- Drop destdir-fix and mpicxx-und patches
|
||||||
|
- Update rpm macros to use the new module location
|
||||||
|
|
||||||
|
* Wed Oct 31 2012 Orion Poplawski <orion@cora.nwra.com> - 1.4.1p1-9
|
||||||
|
- Install module file in mpi subdirectory and conflict with other mpi modules
|
||||||
|
- Leave existing module file location for backwards compatibility for a while
|
||||||
|
|
||||||
|
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1p1-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-7
|
||||||
|
- Rebuild for new hwloc
|
||||||
|
|
||||||
|
* Wed Feb 15 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 1.4.1p1-6
|
||||||
|
- Update ARM build configuration
|
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1p1-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 2 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-4
|
||||||
|
- Bump spec.
|
||||||
|
|
||||||
|
* Wed Nov 16 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4.1p1-3
|
||||||
|
- Comply to MPI guidelines by separating autoloading into separate package
|
||||||
|
(BZ #647147).
|
||||||
|
|
||||||
|
* Tue Oct 18 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-2
|
||||||
|
- Rebuild for hwloc soname bump.
|
||||||
|
|
||||||
|
* Sun Sep 11 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1p1-1
|
||||||
|
- Update to 1.4.1p1 patch update
|
||||||
|
- Add enable-lib-depend to configure flags
|
||||||
|
|
||||||
|
* Sat Aug 27 2011 Deji Akingunola <dakingun@gmail.com> - 1.4.1-1
|
||||||
|
- Update to 1.4.1 final
|
||||||
|
- Drop the mpd subpackage, the PM is no longer supported upstream
|
||||||
|
- Fix undefined symbols in libmpichcxx (again) (#732926)
|
||||||
|
|
||||||
|
* Wed Aug 03 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 1.4-2
|
||||||
|
- Respect environment module guidelines wrt placement of module file.
|
||||||
|
|
||||||
|
* Fri Jun 17 2011 Deji Akingunola <dakingun@gmail.com> - 1.4-1
|
||||||
|
- Update to 1.4 final
|
Loading…
Reference in New Issue
Block a user