diff --git a/src/plugins/proctrack/aix/proctrack_aix.c b/src/plugins/proctrack/aix/proctrack_aix.c
index a9ed404a366c7ad2795d2d1ad8ee7890129b2d49..c7d467c1531335842ca65596dab3115fe59c001f 100644
--- a/src/plugins/proctrack/aix/proctrack_aix.c
+++ b/src/plugins/proctrack/aix/proctrack_aix.c
@@ -203,8 +203,8 @@ slurm_container_plugin_get_pids(uint64_t cont_id, pid_t **pids, int *npids)
 	}
 
 	if (np == -1) {
-		error("proctrack_get_pids(AIX) for container %u failed: %m",
-		      cont_id);
+		error("proctrack_get_pids(AIX) for container %"PRIu64" "
+		      "failed: %m", cont_id);
 		xfree(p);
 		*pids = NULL;
 		*npids = 0;
@@ -254,12 +254,12 @@ slurm_container_plugin_wait(uint64_t cont_id)
 			int i;
 			pid_t *pids = NULL;
 			int npids = 0;
-			error("Container %u is still not empty", cont_id);
+			error("Container %"PRIu64" is still not empty", cont_id);
 
 			slurm_container_plugin_get_pids(cont_id, &pids, &npids);
 			if (npids > 0) {
 				for (i = 0; i < npids; i++) {
-					verbose("  Container %u has pid %d",
+					verbose("Container %"PRIu64" has pid %d",
 						cont_id, pids[i]);
 				}
 				xfree(pids);
diff --git a/src/plugins/proctrack/cgroup/proctrack_cgroup.c b/src/plugins/proctrack/cgroup/proctrack_cgroup.c
index adc9d6d0f9a62b70118decc7ea9c71a47f3b5d46..2409a5ac9c165291bd8df95833e8ff05f30c563d 100644
--- a/src/plugins/proctrack/cgroup/proctrack_cgroup.c
+++ b/src/plugins/proctrack/cgroup/proctrack_cgroup.c
@@ -474,7 +474,7 @@ extern int slurm_container_plugin_signal (uint64_t id, int signal)
 		/* do not kill slurmstepd (it should not be part
 		 * of the list, but just to not forget about that ;))
 		 */
-		if (pids[i] == id)
+		if (pids[i] == (pid_t)id)
 			continue;
 
 		/* only signal slurm tasks unless signal is SIGKILL */
diff --git a/src/plugins/proctrack/lua/proctrack_lua.c b/src/plugins/proctrack/lua/proctrack_lua.c
index 323a15290ad44d2f072a6f3a551403660d8367d7..866f80a07fc2a5a62104992f925c5345c96bf3ee 100644
--- a/src/plugins/proctrack/lua/proctrack_lua.c
+++ b/src/plugins/proctrack/lua/proctrack_lua.c
@@ -353,7 +353,7 @@ int slurm_container_plugin_create (slurmd_job_t *job)
 	}
 
 	id = lua_tonumber (L, -1);
-	job->cont_id = id;
+	job->cont_id = (uint64_t) id;
 	info ("job->cont_id = %"PRIu64" (%.0f)", job->cont_id, id);
 	lua_pop (L, -1);
 
diff --git a/src/plugins/proctrack/pgid/proctrack_pgid.c b/src/plugins/proctrack/pgid/proctrack_pgid.c
index 97e5a60529ef4597201f0943b84c1b5bbe60f12d..41ea043f323e704e614e69d879786471dda0e9a3 100644
--- a/src/plugins/proctrack/pgid/proctrack_pgid.c
+++ b/src/plugins/proctrack/pgid/proctrack_pgid.c
@@ -129,7 +129,7 @@ extern int slurm_container_plugin_signal  ( uint64_t id, int signal )
 	if (!id)	/* no container ID */
 		return ESRCH;
 
-	if (id == getpid() || id == getpgid(0)) {
+	if (pid == getpid() || pid == getpgid(0)) {
 		error("slurm_signal_container would kill caller!");
 		return ESRCH;
 	}
diff --git a/src/plugins/proctrack/rms/proctrack_rms.c b/src/plugins/proctrack/rms/proctrack_rms.c
index 386cf5e054a1169e4b831d68b2479138bd7b6eac..c9ea4d45121ed0b784ee302a8039618d7d119e9f 100644
--- a/src/plugins/proctrack/rms/proctrack_rms.c
+++ b/src/plugins/proctrack/rms/proctrack_rms.c
@@ -168,7 +168,7 @@ extern int slurm_container_plugin_signal  (uint64_t id, int signal)
  */
 extern int slurm_container_plugin_destroy (uint64_t id)
 {
-	debug2("proctrack/rms: destroying container %u", id);
+	debug2("proctrack/rms: destroying container %"PRIu64"", id);
 	if (id == 0)
 		return SLURM_SUCCESS;
 
@@ -217,7 +217,7 @@ slurm_container_plugin_wait(uint64_t cont_id)
 		if (delay < 120) {
 			delay *= 2;
 		} else {
-			error("Unable to destroy container %u", cont_id);
+			error("Unable to destroy container %"PRIu64"", cont_id);
 		}
 	}
 
diff --git a/src/slurmd/common/proctrack.c b/src/slurmd/common/proctrack.c
index a669b268b36ee65e9b16817b67c87da23c1dd226..a442c519b4b64ad9721dcc8960824b5434a49970 100644
--- a/src/slurmd/common/proctrack.c
+++ b/src/slurmd/common/proctrack.c
@@ -51,12 +51,12 @@
 typedef struct slurm_proctrack_ops {
 	int              (*create)    (slurmd_job_t * job);
 	int              (*add)       (slurmd_job_t * job, pid_t pid);
-	int              (*signal)    (uint32_t id, int signal);
-	int              (*destroy)   (uint32_t id);
-	 uint32_t        (*find_cont) (pid_t pid);
-	 bool            (*has_pid)   (uint32_t id, pid_t pid);
-	int              (*wait)      (uint32_t id);
-	int              (*get_pids)  (uint32_t id, pid_t ** pids, int *npids);
+	int              (*signal)    (uint64_t id, int signal);
+	int              (*destroy)   (uint64_t id);
+	uint64_t         (*find_cont) (pid_t pid);
+	bool             (*has_pid)   (uint64_t id, pid_t pid);
+	int              (*wait)      (uint64_t id);
+	int              (*get_pids)  (uint64_t id, pid_t ** pids, int *npids);
 } slurm_proctrack_ops_t;
 
 
@@ -317,7 +317,7 @@ extern int slurm_container_destroy(uint64_t cont_id)
  *
  * Returns zero if no container found for the given pid.
  */
-extern uint32_t slurm_container_find(pid_t pid)
+extern uint64_t slurm_container_find(pid_t pid)
 {
 	if (slurm_proctrack_init() < 0)
 		return SLURM_ERROR;
diff --git a/src/slurmd/common/proctrack.h b/src/slurmd/common/proctrack.h
index 793f3647540bca95074a65246bbd033e69945708..4895306ebb24040d6f84af078ef9e7218a6946a4 100644
--- a/src/slurmd/common/proctrack.h
+++ b/src/slurmd/common/proctrack.h
@@ -110,7 +110,7 @@ extern int slurm_container_destroy(uint64_t cont_id);
  *
  * Returns zero if no container found for the given pid.
  */
-extern uint32_t slurm_container_find(pid_t pid);
+extern uint64_t slurm_container_find(pid_t pid);
 
 /*
  * Return "true" if the container "cont_id" contains the process with