glibc 2.41+ has added [1] definitions for sched_setattr and sched_getattr functions and struct sched_attr. Therefore, it needs to be checked for here as well before defining sched_attr Define sched_attr conditionally on SCHED_ATTR_SIZE_VER0 Fixes builds with glibc/trunk [1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=21571ca0d70302909cf72707b2a7736cf12190a0;hp=298bc488fdc047da37482f4003023cb9adef78f8 Signed-off-by: Khem Raj <raj.khem@xxxxxxxxx> Cc: Clark Williams <williams@xxxxxxxxxx> Cc: John Kacur <jkacur@xxxxxxxxxx> Cc: rt-users <linux-rt-users@xxxxxxxxxxxxxxx> --- src/include/rt-sched.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/include/rt-sched.h b/src/include/rt-sched.h index 80171c7..9cf0e3a 100644 --- a/src/include/rt-sched.h +++ b/src/include/rt-sched.h @@ -42,6 +42,8 @@ #define __NR_sched_getattr 275 #endif +/* sched_attr is not defined in glibc < 2.41 */ +#ifndef SCHED_ATTR_SIZE_VER0 struct sched_attr { uint32_t size; uint32_t sched_policy; @@ -68,4 +70,6 @@ int sched_getattr(pid_t pid, unsigned int size, unsigned int flags); +#endif /* SCHED_ATTR_SIZE_VER0 */ + #endif /* __RT_SCHED_H__ */