This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: w32api lower version / mess in Cygwin 1.7.18 ?


On Apr 24 18:22, Lavrentiev, Anton (NIH/NLM/NCBI) [C] wrote:
> Hello,
> 
> I've installed official Cygwin 1.7.18, and an application that
> uses w32api does no longer compile.
> 
> Last time I used it with Cygwin 1.7.15 (where everything worked),
> and /usr/include/w32api/w32api.h had:
> 
> #define __W32API_VERSION 3.17
> #define __W32API_MAJOR_VERSION 3
> #define __W32API_MINOR_VERSION 17
> 
> Now in Cygwin 1.7.18, that very file contains the following:
> 
> #define __W32API_VERSION 3.14
> #define __W32API_MAJOR_VERSION 3
> #define __W32API_MINOR_VERSION 14
> 
> Even though the newer file is more advanced than the one before
> (lists more Windows and IE versions).
> 
> The DDK that comes along does not look like anything working at all:
> there are tons of redifinitions (of PAGE_SIZE, to say the least), as well as the
> order of header inclusions now seems to be significant (and not self-consistent
> anymore):  parts of the API are aware of the NT_INCLUDED guard
> (to the extent that I've figured out), parts not.
> 
> Here's just to illustrate:
> In file included from /usr/include/w32api/ddk/ntddk.h:38:0,
>                  from /usr/include/w32api/ddk/ntifs.h:34,
> /usr/include/w32api/ddk/wdm.h:7679:0: warning: "PAGE_SIZE" redefined
> /usr/include/limits.h:211:0: note: this is the location of the previous definition
> In file included from /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api/windows.h:70:0,
> 
> So my question is basically, whoever included this into release,
> did they run any checks at all prior to releasing the package(s)?
> 
> Any suggestions how to fix all this mess would be highly appreciated.

Apparently you didn't notice that we switched from Mingw.org headers
to Mingw-w64 headers to support the 64 bit Cygwin effort.

With Mingw-w64 headers, don't use the DDK headers in conjunction with
user space applications.  These headers are not appropriate for that and
the fact that we could use the Mingw.org equivalents was just a nice
effect, but nothing you ever should have relied upon (just as in Cygwin,
we originally did the same, but we changed it).

The (unfortunately incomplete) replacement for the user space is the
deprecated ntdef.h, or the more adequate winternl.h.  Patches to extend
winternl.h are welcome on the mingw-w64-public ML.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]