On glibc-2.36 this fails with genauth.c:45:12: fatal error: bsd/stdlib.h: No such file or directory 45 | # include | ^~~~~~~~~~~~~~ This is because the file will be included if HAVE_ARC4RANDOM is true and `__linux__` is set. However, this is wrong: arc4random is now defined in glibc-2.36 and thus stdlib.h must be included even though HAVE_ARC4RANDOM is true. diff --git a/xdm/genauth.c b/xdm/genauth.c index cd2ad61..74d0ae1 100644 --- a/xdm/genauth.c +++ b/xdm/genauth.c @@ -40,13 +40,7 @@ from The Open Group. #include -#ifdef HAVE_ARC4RANDOM -# ifdef __linux__ -# include -# else -# include -# endif -#endif +#include #include #define Time_t time_t