diff --git a/config.h.in b/config.h.in index 171f85d0dc1520ce034daceffac8e9cb6cee2089..b68f32ce323addbebb460450bcff94087191d836 100644 --- a/config.h.in +++ b/config.h.in @@ -478,6 +478,14 @@ /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR +/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>. + */ +#undef MAJOR_IN_MKDEV + +/* Define to 1 if `major', `minor', and `makedev' are declared in + <sysmacros.h>. */ +#undef MAJOR_IN_SYSMACROS + /* Define to 1 for memory leak debugging. */ #undef MEMORY_LEAK_DEBUG diff --git a/configure b/configure index 50417b0ebcce2d7a4732138b629a1bc52f7e529b..560e5418677f47433bf53e5eae008784e2dcf27c 100755 --- a/configure +++ b/configure @@ -18818,6 +18818,55 @@ $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 +$as_echo_n "checking whether sys/types.h defines makedev... " >&6; } +if ${ac_cv_header_sys_types_h_makedev+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> +int +main () +{ +return makedev(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_header_sys_types_h_makedev=yes +else + ac_cv_header_sys_types_h_makedev=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5 +$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } + +if test $ac_cv_header_sys_types_h_makedev = no; then +ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : + +$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h + +fi + + + + if test $ac_cv_header_sys_mkdev_h = no; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : + +$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h + +fi + + + fi +fi diff --git a/configure.ac b/configure.ac index 02c805c21cde264a3ab40c225497b9071fe21b2f..3e9a7760ffe60b5e02db701df7e843343e568d5c 100644 --- a/configure.ac +++ b/configure.ac @@ -124,7 +124,7 @@ AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \ AC_HEADER_SYS_WAIT AC_HEADER_TIME AC_HEADER_STDC - +AC_HEADER_MAJOR dnl Checks for structures. dnl diff --git a/src/plugins/task/cgroup/task_cgroup_devices.c b/src/plugins/task/cgroup/task_cgroup_devices.c index 6a09b3d52a7601d50398dee0d3fc1940fcf5ce1b..4e799e28db7177cb60c256db989c0f72fa58f30b 100644 --- a/src/plugins/task/cgroup/task_cgroup_devices.c +++ b/src/plugins/task/cgroup/task_cgroup_devices.c @@ -34,6 +34,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. \*****************************************************************************/ +#include "config.h" + #define _GNU_SOURCE #include <glob.h> #include <limits.h> @@ -41,6 +43,13 @@ #include <sys/stat.h> #include <sys/types.h> +#ifdef MAJOR_IN_MKDEV +# include <sys/mkdev.h> +#endif +#ifdef MAJOR_IN_SYSMACROS +# include <sys/sysmacros.h> +#endif + #include "slurm/slurm.h" #include "slurm/slurm_errno.h"