This is the mail archive of the cygwin-apps 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: [HEADSUP] Dropping libopenssl098 from distro


On Jan 23 16:43, Dr. Volker Zell wrote:
> >>>>> Ken Brown writes:
> 
>     > On 1/23/2015 5:57 AM, Dr. Volker Zell wrote:
>     >> gcc -c -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/build=/usr/src/debug/xemacs-21.4.22-2 -fdebug-prefix-map=/cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/src/xemacs-21.4.22=/usr/src/debug/xemacs-21.4.22-2  -Demacs -I. -DHAVE_CONFIG_H -Wno-sign-compare -fno-caller-saves /cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/src/xemacs-21.4.22/src/emacs.c
>     >> In file included from /cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/src/xemacs-21.4.22/src/emacs.c:184:0:
>     >> /cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/src/xemacs-21.4.22/src/syswindows.h:74:16: error: expected ';', ',' or ')' before 'int'
>     >> #define Status int
>     >> ^
>     >> In file included from /usr/include/w32api/rpc.h:74:0,
>     >> from /usr/include/w32api/objbase.h:7,
>     >> from /usr/include/w32api/ole2.h:17,
>     >> from /usr/include/w32api/shlobj.h:85,
>     >> from /cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/src/xemacs-21.4.22/src/syswindows.h:77,
>     >> from /cygdrive/d/misc/src/release/xemacs-21.4.22-2.i686/src/xemacs-21.4.22/src/emacs.c:184:
>     >> /usr/include/w32api/rpcdce.h:210:51: error: unknown type name 'RPC_OBJECT_INQ_FN'
>     >> RPCRTAPI RPC_STATUS RPC_ENTRY RpcObjectSetInqFn(RPC_OBJECT_INQ_FN *InquiryFn);
> 
>     > I think the problem is that "Status" is used in /usr/include/w32api/rpcdce.h,
>     > and this conflicts with "#define Status int".  I ran into a similar problem when
>     > trying to build clisp.
> 
> Any simple fix/workaround  for this ?

It's a bug in the header, because it's polluting the namespace with
unnecessary usage of "Status" as parameter names in prototypes.  The
header should use __status__ or drop them entirely.

What you could try is either one of

- Change the order of the header files, so that the windows headers
  are included before the private header defining Status.

- Or, prior to including the Windows headers, push the macro and
  undefine it, after including the windows headers, pop the macro:

    #pragma push_macro ("Status")
    #undef Status
    #include <windows.h>
    #pragma pop_macro ("Status")

- Or, you could not include windce.h at all if you don't need any of it:

   #define __RPCDCE_H__
   #include <windows.h>
   ...

Apart from that, the header should be fixed in Mingw-w64.


HTH,
Corinna

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

Attachment: pgpxcHeWXTOYa.pgp
Description: PGP signature


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