From 4a64dab0ddb07c0724f9e805bd73fe3cff6db809 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Thu, 18 Apr 2019 18:57:14 -0400 Subject: [PATCH] YARN-8622. Fixed container-executor compilation on MacOSX. Contributed by Siyao Meng (cherry picked from commit ef97a20831677c055aa6bff6ad0649cbb3a56a86) --- .../native/container-executor/impl/utils/docker-util.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c index 17860620cf4..44adfc24e47 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/utils/docker-util.c @@ -1381,14 +1381,22 @@ static int check_privileges(const char *user) { exit(INITIALIZE_USER_FAILED); } +#ifdef __linux__ int rc = getgrouplist(user, pw->pw_gid, groups, &ngroups); +#else + int rc = getgrouplist(user, pw->pw_gid, (int *)groups, &ngroups); +#endif if (rc < 0) { groups = (gid_t *) alloc_and_clear_memory(ngroups, sizeof(gid_t)); if (groups == NULL) { fprintf(ERRORFILE, "Failed to allocate buffer for group lookup for user %s.\n", user); exit(OUT_OF_MEMORY); } +#ifdef __linux__ if (getgrouplist(user, pw->pw_gid, groups, &ngroups) == -1) { +#else + if (getgrouplist(user, pw->pw_gid, (int *)groups, &ngroups) == -1) { +#endif fprintf(ERRORFILE, "Fail to lookup groups for user %s.\n", user); ret = 2; }