Subject: Re: Version 1.8.1 does not compile on Cygwin 1.7.14

From: Mark Levedahl <[email-masked]>
Date: Sun, 06 Jan 2013 06:48:15 -0500

On 01/06/2013 04:57 AM, Jonathan Nieder wrote:
> Torsten Bögershausen wrote:
>
>> The short version:
>> Cygwin versions  1.7.1 up to 1.7.16 use the same header files as cygwin 1.5
> [...]
>> I don't know if we want to improve the Makefile to enable
>> CYGWIN_V15_WIN32API = YesPlease
>> for cygwin versions 1.7.1 .. 1.7.16 (which are outdated)
>>

You are conflating the cygwin dll version with the win32 api version. 
These are independent packages (just as the kernel and glibc packages 
are independent on linux) and do not share a version number. However, 
the newer win32api is provided only for the current cygwin release 
series, which can be reliably identified by having dll version 1.7.x, 
while the older frozen releases (dll versions 1.6.x from redhat, 1.5.x 
open source) still have the older api as no updates are being made for 
the legacy version(s).

Cygwin does not version the win32api in any useful way: the package 
names changed completely, for instance, and there is no macro defined 
from the header files to indicate a version number. Also, there is no 
supported way to now install the older version: the only supported 
configuration is with the *current* win32api: multiple packages depend 
by name on the current win32api package, so the installer will insist 
upon its installation.

So the solution is to update the cygwin installation. Really. If you 
don't believe me, try asking on the cygwin mailing list. They only 
support the current releases, not obsolete packages, and the older 
win32api is explicitly obsolete.

Mark