bug-make
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]