The Makefile calls awk on a "*.c" glob. The results of this glob are sorted but the order depends on the locale settings, particularly whether "util.c" and "util2.c" sort before or after each other. In en_US.UTF-8 they sort one way, in C, they sort the other. The sorting order changes the output binaries. The behaviour also changes dependning on whether SHELL (/bin/sh) is dash or bash. Specify a C locale setting to be deterministic. Signed-off-by: Richard Purdie Submitted: https://github.com/WayneD/rsync/pull/155 Upstream-Status: Backport [ish, see below] After discussion upstream renamed util.c to util1.c which avoids the problem in a different way. This patch can be dropped when we upgrade to include: https://github.com/WayneD/rsync/commit/d3085f7add38a5cf833a0b31cb0637ff46c80f8d Index: rsync-3.2.3/Makefile.in =================================================================== --- rsync-3.2.3.orig/Makefile.in +++ rsync-3.2.3/Makefile.in @@ -26,6 +26,11 @@ MKDIR_P=@MKDIR_P@ VPATH=$(srcdir) SHELL=/bin/sh +# We use globbing in commands, need to be deterministic +unexport LC_ALL +LC_COLLATE=C +export LC_COLLATE + .SUFFIXES: .SUFFIXES: .c .o