From 683ecb3f6eaa58f63d77341fe7c288150483e918 Mon Sep 17 00:00:00 2001 From: Toyohisa Kameyama Date: Mon, 12 Oct 2020 08:49:38 +0900 Subject: mpifileutils: Add patch for aarch64. (#18724) * mpifileutils: Add patch for aarch64. * Update patch and limit version for apply patch. --- .../packages/mpifileutils/nosys_getdents.patch | 25 ++++++++++++++++++++++ .../repos/builtin/packages/mpifileutils/package.py | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/mpifileutils/nosys_getdents.patch diff --git a/var/spack/repos/builtin/packages/mpifileutils/nosys_getdents.patch b/var/spack/repos/builtin/packages/mpifileutils/nosys_getdents.patch new file mode 100644 index 0000000000..cfb98d3de6 --- /dev/null +++ b/var/spack/repos/builtin/packages/mpifileutils/nosys_getdents.patch @@ -0,0 +1,25 @@ +commit 66c5273035396c34998c32e9d7918bce9aeca58f +Author: Toyohisa Kameyama +Date: Fri Sep 25 10:04:58 2020 +0900 + + mfu: support aarch64 + + aarch64 kernel is not found SYS_getdents. + If SYS_getdents is not defined, use sys_getdents64. + + Signed-off-by: Toyohisa Kameyama + +diff --git a/src/common/mfu_flist_walk.c b/src/common/mfu_flist_walk.c +index ed81c8d..08836c4 100644 +--- a/src/common/mfu_flist_walk.c ++++ b/src/common/mfu_flist_walk.c +@@ -161,6 +161,9 @@ static void walk_getdents_process_dir(const char* dir, CIRCLE_handle* handle) + return; + } + ++#if !defined(SYS_getdents) && defined(SYS_getdents64) ++#define SYS_getdents SYS_getdents64 ++#endif + /* Read all directory entries */ + while (1) { + /* execute system call to get block of directory entries */ diff --git a/var/spack/repos/builtin/packages/mpifileutils/package.py b/var/spack/repos/builtin/packages/mpifileutils/package.py index c0130e554d..e06f36ec54 100644 --- a/var/spack/repos/builtin/packages/mpifileutils/package.py +++ b/var/spack/repos/builtin/packages/mpifileutils/package.py @@ -26,6 +26,8 @@ class Mpifileutils(Package): version('0.9.1', sha256='15a22450f86b15e7dc4730950b880fda3ef6f59ac82af0b268674d272aa61c69') version('0.9', sha256='1b8250af01aae91c985ca5d61521bfaa4564e46efa15cee65cd0f82cf5a2bcfb') + patch('nosys_getdents.patch', when='@:0.10.1 target=aarch64:') + conflicts('platform=darwin') depends_on('mpi') -- cgit v1.2.3-70-g09d2