[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: REGRESSION: cross compile 4.3 fail on mingw-w64 7.0/GCC 9.3
From: |
Eli Zaretskii |
Subject: |
Re: REGRESSION: cross compile 4.3 fail on mingw-w64 7.0/GCC 9.3 |
Date: |
Mon, 28 Dec 2020 16:30:12 +0200 |
> From: Liviu Ionescu <ilg@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