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?
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?
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?
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry