Fix minor build issue with UnifyFS. (#23709)

This commit updates the UnifyFS package.py script to include a patch
that fixes the build problems on new-ish Linux distributions.

Fixes issue #23292
This commit is contained in:
Ross Miller 2021-05-17 19:04:44 -04:00 committed by GitHub
parent 0174936250
commit 8f85d3b937
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 0 deletions

View file

@ -0,0 +1,43 @@
Commit: ef1b4caa70beb0a7ae03fc0ef1250b80efe33afc
Date: Fri, 14 May 2021 15:30:09 -0400
Subject: [PATCH] Include sys/sysmacros.h in testlib.h
In recent Linux systems, major() and minor() are defined in
sys/sysmacros.h and sys/types.h no longer includes sys/sysmacros.h. So,
we need to include sys/sysmacros.h in testlib.h.
Also adds a check for the existence of sys/sysmacros.h in configure.ac.
Include sys/sysmacros.h in testlib.h
---
configure.ac | 1 +
examples/src/testlib.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/configure.ac b/configure.ac
index 681cdb7..77719eb 100755
--- a/configure.ac
+++ b/configure.ac
@@ -65,6 +65,7 @@ AC_CHECK_HEADERS([fcntl.h inttypes.h libgen.h limits.h mntent.h strings.h syslog
AC_CHECK_HEADERS([wchar.h wctype.h])
AC_CHECK_HEADERS([sys/mount.h sys/socket.h sys/statfs.h sys/time.h])
AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h])
+AC_CHECK_HEADER([sys/sysmacros.h], [], AC_MSG_ERROR([cannot find required header sys/sysmacros.h]))
# Checks for library functions.
AC_FUNC_MALLOC
diff --git a/examples/src/testlib.h b/examples/src/testlib.h
index 2b0a698..41c9900 100644
--- a/examples/src/testlib.h
+++ b/examples/src/testlib.h
@@ -24,6 +24,7 @@
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <unistd.h>
#include <time.h>
#include <mpi.h>
--
2.25.1

View file

@ -57,6 +57,7 @@ class Unifyfs(AutotoolsPackage):
conflicts('%xl', when='+fortran')
patch('unifyfs-sysio.c.patch', when='@0.9.1')
patch('include-sys-sysmacros.h.patch', when='@0.9.1:0.9.2')
# Parallel disabled to prevent tests from being run out-of-order when
# installed with the --test={root, all} option.