On Mon, 9 Jun 2025, Brian Inglis wrote:

> On 2025-06-09 12:54, Jeremy Drake via Cygwin-patches wrote:
> > On Mon, 9 Jun 2025, Radek Barton via Cygwin-patches wrote:
> > > Since today,
> > > https://github.com/cygwin/cygwin/actions/runs/15537033468 workflow started
> > > to fail as it seems that `cygwin/cygwin-install-action@master` action
> > > started to use newer MinGW headers.
> > >
> > > The attached patch fixes compatibility with v13 MinGW headers while
> > > preserving compatibility with v12.
>
> Perhaps in the case of this build, but not necessarily anywhere else in Cygwin
> using BSD sockets.
>
> > The change to cygwin/socket.h concerns me, that is a public header, and
> > you can't assume they are including MinGW headers, and if they are how
> > they are configuring them (ie, _WIN32_WINNT define) or which ones they
> > are including.  It looks like the mingw-w64 header #defines cmsghdr, maybe
> > an #ifndef cmsghdr with a comment about this situation?  Or how do other
> > Cygwin headers handle potential conflicts with Windows headers?
> I appear to be missing where Mingw headers other than ntstatus.h are included
> in these Cygwin headers so how would Mingw version be defined here?

Inside Cygwin, additional Windows headers are included, including winsock
headers to implement sockets within Cygwin.

> It looks like the changes need to be made elsewhere across the code hierarchy.
>
> What are the actual Mingw header definition changes causing conflicts, and do
> any Cygwin headers, setup or other network apps code need to be adjusted to
> take the Mingw header changes into account?

https://github.com/mingw-w64/mingw-w64/commit/c3b5e71d54aa596bba9fb8ec7c1f9f712e7c616a

> Such details would be required to explain why the patch would be needed and
> how it fixes the issue while taking compatibility with and any impacts on
> Cygwin network apps into account.

> This should perhaps be referred back to the w32api-headers maintainer to see
> if he did any testing before deployment?

Reply via email to