From 3b497cff602f88dd1664ba31a34504d40da44156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 28 Aug 2019 13:04:49 +0200 Subject: [PATCH] Add workaround to fix build on arm --- 0001-Drop-real128.patch | 74 +++++++++++++++++++++++++++++++++++++++++ mpich.spec | 9 ++++- 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 0001-Drop-real128.patch diff --git a/0001-Drop-real128.patch b/0001-Drop-real128.patch new file mode 100644 index 0000000..355bd87 --- /dev/null +++ b/0001-Drop-real128.patch @@ -0,0 +1,74 @@ +From 8f0c71281b5dccd70a3f1d4204e3cc6bc7201ceb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= + +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 + diff --git a/mpich.spec b/mpich.spec index 9d0f7d7..84a25dd 100644 --- a/mpich.spec +++ b/mpich.spec @@ -10,6 +10,7 @@ Source1: mpich.macros Source2: mpich.pth.py2 Source3: mpich.pth.py3 Patch0: mpich-modules.patch +Patch1: 0001-Drop-real128.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -103,7 +104,13 @@ Requires: python(abi) = %{python3_version} mpich support for Python 3. %prep -%autosetup -p1 +%setup + +%patch0 -p1 + +%ifarch %{arm} +%patch1 -p1 +%endif %build CONFIGURE_OPTS=(