> From: Liviu Ionescu <i...@livius.net> > Date: Mon, 28 Dec 2020 11:30:22 +0200 > > Mingw 7 comes with its own definitions of fcntl() which conflict with those > in the windows related files in make.
Are you sure? From what I see, it isn't the MinGW fcntl that conflicts, it's Gnulib's: > In file included from > /Host/Users/ilg/Work/windows-build-tools-4.3.0-1/win32-x64/sources/make-4.3/src/arscan.c:379: > /Host/Users/ilg/Work/windows-build-tools-4.3.0-1/win32-x64/sources/make-4.3/src/output.h:70: > warning: "F_GETFD" redefined > 70 | # define F_GETFD 1 > | > In file included from > /Host/Users/ilg/Work/windows-build-tools-4.3.0-1/win32-x64/sources/make-4.3/src/makeint.h:359, > from > /Host/Users/ilg/Work/windows-build-tools-4.3.0-1/win32-x64/sources/make-4.3/src/arscan.c:17: > lib/fcntl.h:684: note: this is the location of the previous definition > 684 | # define F_GETFD 2 See: it quotes lib/fcntl.h, which is the Gnulib fcntl.h header in the lib subdirectory of the Make source tree. And so I wonder how come you have lib/fcntl.h in your build tree. Are you using the build_w32.bat batch file to build Make, or are you using some other build procedure? The _only_ build procedure we support on native MS-Windows is via the batch file, and it doesn't generate lib/fcntl.h, it only compiles lib/fnmatch.c, lib/glob.c, and lib/getloadavg.c. The Gnulib fcntl.h file comes as fcntl.in.h, and thus should not get in the way unless you somehow produce fcnt.l from fcntl.in.h, which build_w32.bat doesn't do. > Please let me know if there was any progress on this issue, and perhaps if > using mingw 8 improved things. I suggest you unpack Make 4.3 anew in a fresh directory, and try building it using the supported build procedure, by invoking build_w32 gcc