I get this when trying to compile putty:
winegcc -mno-cygwin -Wall -O2 -D_WINDOWS -DDEBUG -DWIN32S_COMPAT -DNO_SECURITY -D_NO_OLDNAMES -DNO_MULTIMON -I. -c winnet.c In file included from /usr/local/include/wine/windows/windows.h:62, from /usr/local/include/wine/windows/winsock.h:114, from winnet.c:46: /usr/local/include/wine/windows/winsock2.h:401: warning: type defaults to `int' in declaration of `SOCKET' /usr/local/include/wine/windows/winsock2.h:401: warning: `__stdcall__' attribute only applies to function types /usr/local/include/wine/windows/winsock2.h:401: parse error before "WSAAccept" /usr/local/include/wine/windows/winsock2.h:402: parse error before "DWORD" /usr/local/include/wine/windows/winsock2.h:403: parse error before "DWORD" /usr/local/include/wine/windows/winsock2.h:406: parse error before "const" /usr/local/include/wine/windows/winsock2.h:412: parse error before "HANDLE" /usr/local/include/wine/windows/winsock2.h:416: parse error before "HANDLE" /usr/local/include/wine/windows/winsock2.h:417: parse error before "LPWSAOVERLAPPED" /usr/local/include/wine/windows/winsock2.h:423: parse error before "u_long" /usr/local/include/wine/windows/winsock2.h:424: parse error before "u_short" /usr/local/include/wine/windows/winsock2.h:428: parse error before "DWORD" /usr/local/include/wine/windows/winsock2.h:435: parse error before "u_long" /usr/local/include/wine/windows/winsock2.h:436: parse error before "u_short" /usr/local/include/wine/windows/winsock2.h:438: parse error before "LPWSABUF" /usr/local/include/wine/windows/winsock2.h:439: parse error before "LPWSABUF" /usr/local/include/wine/windows/winsock2.h:440: parse error before "LPWSABUF" /usr/local/include/wine/windows/winsock2.h:443: parse error before "LPWSABUF" /usr/local/include/wine/windows/winsock2.h:444: parse error before "LPWSABUF" /usr/local/include/wine/windows/winsock2.h:445: parse error before "LPWSABUF" /usr/local/include/wine/windows/winsock2.h:449: warning: type defaults to `int' in declaration of `SOCKET' /usr/local/include/wine/windows/winsock2.h:449: warning: `__stdcall__' attribute only applies to function types /usr/local/include/wine/windows/winsock2.h:449: parse error before "WSASocketA" /usr/local/include/wine/windows/winsock2.h:450: warning: type defaults to `int' in declaration of `SOCKET' /usr/local/include/wine/windows/winsock2.h:450: warning: `__stdcall__' attribute only applies to function types /usr/local/include/wine/windows/winsock2.h:450: parse error before "WSASocketW" /usr/local/include/wine/windows/winsock2.h:451: parse error before "LPSOCKADDR" /usr/local/include/wine/windows/winsock2.h:452: parse error before "LPSOCKADDR" In file included from winnet.c:46: /usr/local/include/wine/windows/winsock.h:267: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:271: parse error before '}' token /usr/local/include/wine/windows/winsock.h:271: warning: type defaults to `int' in declaration of `PROTOENT' /usr/local/include/wine/windows/winsock.h:271: warning: type defaults to `int' in declaration of `PPROTOENT' /usr/local/include/wine/windows/winsock.h:271: warning: type defaults to `int' in declaration of `LPPROTOENT' /usr/local/include/wine/windows/winsock.h:271: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:279: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:284: parse error before '}' token /usr/local/include/wine/windows/winsock.h:345: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:350: parse error before '}' token /usr/local/include/wine/windows/winsock.h:350: warning: type defaults to `int' in declaration of `SERVENT' /usr/local/include/wine/windows/winsock.h:350: warning: type defaults to `int' in declaration of `PSERVENT' /usr/local/include/wine/windows/winsock.h:350: warning: type defaults to `int' in declaration of `LPSERVENT' /usr/local/include/wine/windows/winsock.h:350: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:359: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:366: parse error before '}' token /usr/local/include/wine/windows/winsock.h:366: warning: type defaults to `int' in declaration of `HOSTENT' /usr/local/include/wine/windows/winsock.h:366: warning: type defaults to `int' in declaration of `PHOSTENT' /usr/local/include/wine/windows/winsock.h:366: warning: type defaults to `int' in declaration of `LPHOSTENT' /usr/local/include/wine/windows/winsock.h:366: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:373: `SOCKET' redeclared as different kind of symbol /usr/local/include/wine/windows/winsock2.h:450: previous declaration of `SOCKET' /usr/local/include/wine/windows/winsock.h:383: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:386: parse error before '}' token /usr/local/include/wine/windows/winsock.h:386: warning: type defaults to `int' in declaration of `SOCKADDR' /usr/local/include/wine/windows/winsock.h:386: warning: type defaults to `int' in declaration of `PSOCKADDR' /usr/local/include/wine/windows/winsock.h:386: warning: type defaults to `int' in declaration of `LPSOCKADDR' /usr/local/include/wine/windows/winsock.h:386: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:389: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:392: parse error before '}' token /usr/local/include/wine/windows/winsock.h:392: warning: type defaults to `int' in declaration of `LINGER' /usr/local/include/wine/windows/winsock.h:392: warning: type defaults to `int' in declaration of `PLINGER' /usr/local/include/wine/windows/winsock.h:392: warning: type defaults to `int' in declaration of `LPLINGER' /usr/local/include/wine/windows/winsock.h:392: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:412: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:419: parse error before '}' token /usr/local/include/wine/windows/winsock.h:419: warning: type defaults to `int' in declaration of `WS' /usr/local/include/wine/windows/winsock.h:419: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:419: warning: type defaults to `int' in declaration of `FD_SET' /usr/local/include/wine/windows/winsock.h:419: warning: type defaults to `int' in declaration of `PFD_SET' /usr/local/include/wine/windows/winsock.h:419: warning: type defaults to `int' in declaration of `LPFD_SET' /usr/local/include/wine/windows/winsock.h:419: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:422: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:425: parse error before '}' token /usr/local/include/wine/windows/winsock.h:425: warning: type defaults to `int' in declaration of `TIMEVAL' /usr/local/include/wine/windows/winsock.h:425: warning: type defaults to `int' in declaration of `PTIMEVAL' /usr/local/include/wine/windows/winsock.h:425: warning: type defaults to `int' in declaration of `LPTIMEVAL' /usr/local/include/wine/windows/winsock.h:425: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:483: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:483: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:484: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:484: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:485: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:485: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:486: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:486: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:540: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:544: warning: type defaults to `int' in declaration of `S_un_b' /usr/local/include/wine/windows/winsock.h:544: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:549: parse error before '}' token /usr/local/include/wine/windows/winsock.h:549: warning: type defaults to `int' in declaration of `S_un' /usr/local/include/wine/windows/winsock.h:549: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:565: parse error before '}' token /usr/local/include/wine/windows/winsock.h:565: warning: type defaults to `int' in declaration of `IN_ADDR' /usr/local/include/wine/windows/winsock.h:565: warning: type defaults to `int' in declaration of `PIN_ADDR' /usr/local/include/wine/windows/winsock.h:565: warning: type defaults to `int' in declaration of `LPIN_ADDR' /usr/local/include/wine/windows/winsock.h:565: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:568: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:571: parse error before "sin_addr" /usr/local/include/wine/windows/winsock.h:571: warning: type defaults to `int' in declaration of `sin_addr' /usr/local/include/wine/windows/winsock.h:571: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:573: parse error before '}' token /usr/local/include/wine/windows/winsock.h:573: warning: type defaults to `int' in declaration of `SOCKADDR_IN' /usr/local/include/wine/windows/winsock.h:573: warning: type defaults to `int' in declaration of `PSOCKADDR_IN' /usr/local/include/wine/windows/winsock.h:573: warning: type defaults to `int' in declaration of `LPSOCKADDR_IN' /usr/local/include/wine/windows/winsock.h:573: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:583: syntax error before '{' token /usr/local/include/wine/windows/winsock.h:591: parse error before '}' token /usr/local/include/wine/windows/winsock.h:591: warning: type defaults to `int' in declaration of `WSADATA' /usr/local/include/wine/windows/winsock.h:591: warning: type defaults to `int' in declaration of `LPWSADATA' /usr/local/include/wine/windows/winsock.h:591: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:903: parse error before "LPWSADATA" /usr/local/include/wine/windows/winsock.h:906: parse error before '*' token /usr/local/include/wine/windows/winsock.h:906: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:906: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:907: parse error before '*' token /usr/local/include/wine/windows/winsock.h:907: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:907: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:908: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:908: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:909: parse error before '*' token /usr/local/include/wine/windows/winsock.h:909: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:909: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:910: parse error before '*' token /usr/local/include/wine/windows/winsock.h:910: warning: type defaults to `int' in declaration of `WS' /usr/local/include/wine/windows/winsock.h:910: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:910: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:910: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:911: parse error before '*' token /usr/local/include/wine/windows/winsock.h:911: warning: type defaults to `int' in declaration of `WS' /usr/local/include/wine/windows/winsock.h:911: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:911: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:911: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:913: parse error before '*' token /usr/local/include/wine/windows/winsock.h:913: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:913: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:914: parse error before '*' token /usr/local/include/wine/windows/winsock.h:914: warning: type defaults to `int' in declaration of `WS' /usr/local/include/wine/windows/winsock.h:914: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:914: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:914: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:915: parse error before '*' token /usr/local/include/wine/windows/winsock.h:915: warning: type defaults to `int' in declaration of `WS' /usr/local/include/wine/windows/winsock.h:915: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:915: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:915: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:917: parse error before "WS" /usr/local/include/wine/windows/winsock.h:919: parse error before '*' token /usr/local/include/wine/windows/winsock.h:919: warning: type defaults to `int' in declaration of `WS' /usr/local/include/wine/windows/winsock.h:919: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:919: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:919: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:920: parse error before '*' token /usr/local/include/wine/windows/winsock.h:920: warning: type defaults to `int' in declaration of `WS' /usr/local/include/wine/windows/winsock.h:920: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:920: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:920: warning: data definition has no type or storage class /usr/local/include/wine/windows/winsock.h:921: parse error before '*' token /usr/local/include/wine/windows/winsock.h:921: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:921: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:922: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:922: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:923: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:923: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:924: warning: parameter has incomplete type /usr/local/include/wine/windows/winsock.h:924: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:924: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:925: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:925: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:926: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:926: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:927: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:927: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:928: parse error before '*' token /usr/local/include/wine/windows/winsock.h:928: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:928: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:929: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:929: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:930: parse error before '*' token /usr/local/include/wine/windows/winsock.h:930: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:930: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:931: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:931: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:932: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:932: warning: parameter names (without types) in function declaration /usr/local/include/wine/windows/winsock.h:933: `WS' declared as function returning a function /usr/local/include/wine/windows/winsock.h:933: warning: parameter names (without types) in function declaration winnet.c: In function `sk_cleanup': winnet.c:143: warning: implicit declaration of function `closesocket' winnet.c: In function `sk_namelookup': winnet.c:239: warning: implicit declaration of function `inet_addr' winnet.c:275: warning: implicit declaration of function `gethostbyname' winnet.c:275: warning: assignment makes pointer from integer without a cast winnet.c:342: dereferencing pointer to incomplete type winnet.c:344: dereferencing pointer to incomplete type winnet.c:358: warning: implicit declaration of function `ntohl' winnet.c: In function `sk_getaddr': winnet.c:383: storage size of `a' isn't known winnet.c:384: warning: implicit declaration of function `htonl' winnet.c:385: warning: implicit declaration of function `inet_ntoa' winnet.c:385: warning: passing arg 2 of `strncpy' makes pointer from integer without a cast winnet.c:383: warning: unused variable `a' winnet.c: In function `sk_address_is_local': winnet.c:407: storage size of `a' isn't known winnet.c:407: warning: unused variable `a' winnet.c: In function `sk_addrcopy': winnet.c:434: storage size of `a' isn't known winnet.c:434: warning: unused variable `a' winnet.c: In function `sk_new': winnet.c:547: parse error before "a" winnet.c:573: warning: implicit declaration of function `socket' winnet.c:585: warning: implicit declaration of function `setsockopt' winnet.c:614: `a' undeclared (first use in this function) winnet.c:614: (Each undeclared identifier is reported only once winnet.c:614: for each function it appears in.) winnet.c:616: warning: implicit declaration of function `htons' winnet.c:625: warning: implicit declaration of function `bind' winnet.c:680: warning: implicit declaration of function `connect' winnet.c: In function `sk_newlistener': winnet.c:725: parse error before "a" winnet.c:778: `a' undeclared (first use in this function) winnet.c:826: warning: implicit declaration of function `listen' winnet.c: In function `try_send': winnet.c:876: warning: implicit declaration of function `send' winnet.c: In function `select_result': winnet.c:1012: warning: implicit declaration of function `ioctlsocket' winnet.c:1023: warning: implicit declaration of function `recv' winnet.c:1092: storage size of `isa' isn't known winnet.c:1093: sizeof applied to an incomplete type winnet.c:1096: sizeof applied to an incomplete type winnet.c:1098: warning: implicit declaration of function `accept' winnet.c:1092: warning: unused variable `isa' winnet.c: In function `net_service_lookup': winnet.c:1219: warning: implicit declaration of function `getservbyname' winnet.c:1219: warning: assignment makes pointer from integer without a cast winnet.c:1221: warning: implicit declaration of function `ntohs' winnet.c:1221: dereferencing pointer to incomplete type Error: gcc failed. make: *** [winnet.o] Error 2 [dimi@dimi putty]$
"Dimitrie O. Paun" dpaun@rogers.com writes:
I get this when trying to compile putty:
winegcc -mno-cygwin -Wall -O2 -D_WINDOWS -DDEBUG -DWIN32S_COMPAT -DNO_SECURITY -D_NO_OLDNAMES -DNO_MULTIMON -I. -c winnet.c In file included from /usr/local/include/wine/windows/windows.h:62, from /usr/local/include/wine/windows/winsock.h:114, from winnet.c:46: /usr/local/include/wine/windows/winsock2.h:401: warning: type defaults to `int' in declaration of `SOCKET' /usr/local/include/wine/windows/winsock2.h:401: warning: `__stdcall__' attribute only applies to function types /usr/local/include/wine/windows/winsock2.h:401: parse error before "WSAAccept"
Does this help? (this stuff is starting to be really ugly...)
Index: include/winsock.h =================================================================== RCS file: /opt/cvs-commit/wine/include/winsock.h,v retrieving revision 1.53 diff -u -r1.53 winsock.h --- include/winsock.h 2 Apr 2003 01:38:42 -0000 1.53 +++ include/winsock.h 4 Apr 2003 03:17:56 -0000 @@ -26,22 +26,8 @@ # endif #endif
-#ifndef _WINSOCKAPI_ -#define _WINSOCKAPI_ - -/* - * Setup phase - */ - -#ifdef USE_WS_PREFIX -# define WS(x) WS_##x -#else -# define WS(x) x -#endif - -#ifdef __cplusplus -extern "C" { -#endif /* defined(__cplusplus) */ +#ifndef __WINE_WINSOCKAPI_STDLIB_H +#define __WINE_WINSOCKAPI_STDLIB_H
/* * This section defines the items that conflict with the Unix headers. @@ -110,12 +96,17 @@ # include <stdlib.h> #endif /* !USE_WS_PREFIX */
+#endif /* __WINE_WINSOCKAPI_STDLIB_H */ + #ifndef __WINESRC__ # include "windows.h" #else # include "windef.h" #endif
+#ifndef _WINSOCKAPI_ +#define _WINSOCKAPI_ + #if defined(__MINGW_H) && !defined(MSVCRT_BSD_TYPES_DEFINED) /* MinGW doesn't define the u_xxx types */ typedef unsigned char u_char; @@ -123,6 +114,16 @@ typedef unsigned int u_int; typedef unsigned long u_long; #endif + +#ifdef USE_WS_PREFIX +# define WS(x) WS_##x +#else +# define WS(x) x +#endif + +#ifdef __cplusplus +extern "C" { +#endif /* defined(__cplusplus) */
/* proper 4-byte packing */ #include "pshpack4.h"
On April 3, 2003 10:20 pm, Alexandre Julliard wrote:
Does this help? (this stuff is starting to be really ugly...)
Yes, it does, thanks! (I know, what are our alternatives?)
"Dimitrie O. Paun" dpaun@rogers.com writes:
Yes, it does, thanks! (I know, what are our alternatives?)
Well, I'm wondering if we shouldn't enforce that using winsock implies using msvcrt, the mixed case winsock+Unix glibc is very fragile (and actually it's already broken at least for gethostname).
On April 3, 2003 11:06 pm, Alexandre Julliard wrote:
Well, I'm wondering if we shouldn't enforce that using winsock implies using msvcrt, the mixed case winsock+Unix glibc is very fragile (and actually it's already broken at least for gethostname).
Mind you that I compile PuTTY with msvcrt. Dropping support for winsock+glibc will simplify the file, true. I don't know. Since we have it already, let's give it another try...