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?
