Installing XEmacs under Cygwin

Dr Rainer Woitok <[email protected]> Fri, 17 Jul 2015 13:51:51 +0200
Newsgroups gmane.emacs.xemacs.beta
Message-ID <[email protected]>
Greetings,

not sure whether or not this is the right list ... but here goes anyway:

Since a few days  I'm trying in vain  to install XEmacs under Cygwin.  I
have freshly cloned the source repository from

   https://bitbucket.org/xemacs/xemacs

and I have  freshly updated Cygwin  to its latest release.   The problem
starts when compiling "src/alloc.c":

gcc -c -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wpointer-arith -Wshadow -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement  -Wunused-parameter -g    -Demacs -I. -I/home/Rainer/repo/xemacs/src -DHAVE_CONFIG_H -fno-caller-saves alloc.c
In file included from events.h:574:0,
                 from alloc.c:49:
/usr/include/w32api/winnt.h:5170:15: error: two or more data types in declaration specifiers
       DWORD64 Status;
               ^
/usr/include/w32api/winnt.h:5309:13: error: two or more data types in declaration specifiers
       DWORD Status;
             ^
/usr/include/w32api/rpcdce.h:142:88: error: expected ';', ',' or ')' before 'int'
   typedef void __RPC_API RPC_OBJECT_INQ_FN(UUID *ObjectUuid,UUID *TypeUuid,RPC_STATUS *Status);
                                                                                        ^
In file included from /usr/include/w32api/rpc.h:82:0,
                 from /usr/include/w32api/wtypes.h:7,
                 from /usr/include/w32api/accctrl.h:10,
                 from /usr/include/w32api/aclapi.h:14,
                 from syswindows.h:206,
                 from sysfile.h:95,
                 from alloc.c:61:
/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);
                                                   ^
In file included from events.h:574:0,
                 from alloc.c:49:
/usr/include/w32api/rpcdce.h:471:145: error: expected ';', ',' or ')' before 'int'
   typedef void (__RPC_API *RPC_AUTH_KEY_RETRIEVAL_FN)(void *Arg,unsigned short *ServerPrincName,unsigned __LONG32 KeyVer,void **Key,RPC_STATUS *Status);
                                                                                                                                                 ^
In file included from /usr/include/w32api/rpc.h:82:0,
                 from /usr/include/w32api/wtypes.h:7,
                 from /usr/include/w32api/accctrl.h:10,
                 from /usr/include/w32api/aclapi.h:14,
                 from syswindows.h:206,
                 from sysfile.h:95,
                 from alloc.c:61:
/usr/include/w32api/rpcdce.h:473:112: error: unknown type name 'RPC_AUTH_KEY_RETRIEVAL_FN'
   RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoA(RPC_CSTR ServerPrincName,unsigned __LONG32 AuthnSvc,RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,void *Arg);
                                                                                                                ^
/usr/include/w32api/rpcdce.h:474:112: error: unknown type name 'RPC_AUTH_KEY_RETRIEVAL_FN'
   RPCRTAPI RPC_STATUS RPC_ENTRY RpcServerRegisterAuthInfoW(RPC_WSTR ServerPrincName,unsigned __LONG32 AuthnSvc,RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,void *Arg);
                                                                                                                ^
In file included from events.h:574:0,
                 from alloc.c:49:
/usr/include/w32api/rpcdce.h:513:81: error: expected ';', ',' or ')' before 'int'
   RPCRTAPI signed int RPC_ENTRY UuidCompare(UUID *Uuid1,UUID *Uuid2,RPC_STATUS *Status);
                                                                                 ^
/usr/include/w32api/rpcdce.h:515:72: error: expected ';', ',' or ')' before 'int'
   RPCRTAPI int RPC_ENTRY UuidEqual(UUID *Uuid1,UUID *Uuid2,RPC_STATUS *Status);
                                                                        ^
/usr/include/w32api/rpcdce.h:516:69: error: expected ';', ',' or ')' before 'int'
   RPCRTAPI unsigned short RPC_ENTRY UuidHash(UUID *Uuid,RPC_STATUS *Status);
                                                                     ^
/usr/include/w32api/rpcdce.h:517:59: error: expected ';', ',' or ')' before 'int'
   RPCRTAPI int RPC_ENTRY UuidIsNil(UUID *Uuid,RPC_STATUS *Status);
                                                           ^
/usr/include/w32api/rpcdce.h:547:140: error: expected ';', ',' or ')' before 'int'
   typedef int (__RPC_API *RPC_MGMT_AUTHORIZATION_FN)(RPC_BINDING_HANDLE ClientBinding,unsigned __LONG32 RequestedMgmtOperation,RPC_STATUS *Status);
                                                                                                                                            ^
In file included from /usr/include/w32api/rpc.h:82:0,
                 from /usr/include/w32api/wtypes.h:7,
                 from /usr/include/w32api/accctrl.h:10,
                 from /usr/include/w32api/aclapi.h:14,
                 from syswindows.h:206,
                 from sysfile.h:95,
                 from alloc.c:61:
/usr/include/w32api/rpcdce.h:555:59: error: unknown type name 'RPC_MGMT_AUTHORIZATION_FN'
   RPCRTAPI RPC_STATUS RPC_ENTRY RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN AuthorizationFn);
                                                           ^
In file included from events.h:574:0,
                 from alloc.c:49:
/usr/include/w32api/rpcdcep.h:220:62: error: two or more data types in declaration specifiers
   RPCRTAPI __LONG32 RPC_ENTRY I_RpcMapWin32Status(RPC_STATUS Status);
                                                              ^
/usr/include/w32api/rpcasync.h:118:11: error: two or more data types in declaration specifiers
     ULONG Status;
           ^
/usr/include/w32api/rpcnsip.h:21:81: error: two or more data types in declaration specifiers
   RPCNSAPI void RPC_ENTRY I_RpcNsRaiseException(PRPC_MESSAGE Message,RPC_STATUS Status);
                                                                                 ^
/usr/include/w32api/rpcndr.h:691:160: error: two or more data types in declaration specifiers
   RPCRTAPI RPC_STATUS RPC_ENTRY NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE pStubMsg,unsigned __LONG32 *pCommStatus,unsigned __LONG32 *pFaultStatus,RPC_STATUS Status);
                                                                                                                                                                ^
/usr/include/w32api/aclapi.h:20:58: error: two or more data types in declaration specifiers
   typedef VOID (*FN_PROGRESS) (LPWSTR pObjectName, DWORD Status, PPROG_INVOKE_SETTING pInvokeSetting, PVOID Args, WINBOOL SecuritySet);
                                                          ^
In file included from sysfile.h:95:0,
                 from alloc.c:61:
syswindows.h:216:18: error: expected identifier or '(' before 'int'
 #  define Status int
                  ^
In file included from alloc.c:41:0:
alloc.c: In function 'Fmake_byte_code':
lisp.h:2173:23: warning: value computed is not used [-Wunused-value]
    ((((len & 1) != 0) && (tortoise = XCDR (tortoise), 0)), \
                       ^

I cannot even decide whether  this is an XEmacs problem,  a Cygwin prob-
lem, or my own problem, in that I'm missing some Cygwin package.  Brows-
ing the FAQ  and the other  XEmacs documentation  I found a hint to "in-
stall XFree86,  which is available  as part of  the standard  Cygwin in-
stallation", but when I searched the Cygwin packages for "XFree86" I on-
ly got a single match  for a package which dates  back to 2003 and which
is no longer installable via Cygwin's "setup*.exe".   Besides, most (but
not all)  libraries originally provided by this package  are already in-
stalled in "/usr/lib/" as "*.dll.a" type libraries.  Maybe, this part of
the XEmacs documentation is simply outdated.

Anyway, I would be  really glad  for any pointers shedding some light on
what's wrong or missing here.

Sincerely
Rainer