Hi all,
I have a problem compiling programs that include sys/socket.h.
I use a very simple program as an example:
/*incl.c*/
#include <sys/socket.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("ciao\n");
return 0;
}
As you can see it doesn't call any function about sockets. It only
includes sys/socket.h.
When I run gcc incl.c I have the following answer:
In file included from incl.c:1:
/usr/include/sys/socket.h:77: error: parse error before "sa_family_t"
/usr/include/sys/socket.h:213: error: parse error before "u_char"
/usr/include/sys/socket.h:216: error: parse error before '}' token
/usr/include/sys/socket.h:224: error: parse error before "u_short"
/usr/include/sys/socket.h:238: error: parse error before "u_char"
/usr/include/sys/socket.h:240: error: `int64_t' undeclared here (not
in a function)
/usr/include/sys/socket.h:240: error: `u_char' undeclared here (not in
a function)
/usr/include/sys/socket.h:240: error: size of array `__ss_pad1' is too
large
/usr/include/sys/socket.h:241: error: parse error before "__ss_align"
/usr/include/sys/socket.h:242: error: `u_char' undeclared here (not in
a function)
/usr/include/sys/socket.h:242: error: `int64_t' undeclared here (not
in a function)
/usr/include/sys/socket.h:242: error: `u_char' undeclared here (not in
a function)
/usr/include/sys/socket.h:242: error: `int64_t' undeclared here (not
in a function)
/usr/include/sys/socket.h:243: error: parse error before '}' token
/usr/include/sys/socket.h:373: error: parse error before "caddr_t"
/usr/include/sys/socket.h:376: error: parse error before "msg_iovlen"
/usr/include/sys/socket.h:377: error: parse error before "msg_control"
/usr/include/sys/socket.h:378: error: parse error before "msg_controllen"
/usr/include/sys/socket.h:380: error: parse error before '}' token
/usr/include/sys/socket.h:408: error: parse error before "socklen_t"
/usr/include/sys/socket.h:412: error: parse error before '}' token
/usr/include/sys/socket.h:471: error: parse error before "u_short"
/usr/include/sys/socket.h:473: error: parse error before '}' token
/usr/include/sys/socket.h:479: error: parse error before "caddr_t"
/usr/include/sys/socket.h:483: error: parse error before "msg_accrights"
/usr/include/sys/socket.h:485: error: parse error before '}' token
In file included from incl.c:1:
/usr/include/sys/socket.h:511: error: parse error before "socklen_t"
/usr/include/sys/socket.h:512: error: parse error before "socklen_t"
/usr/include/sys/socket.h:513: error: parse error before "socklen_t"
/usr/include/sys/socket.h:514: error: parse error before "socklen_t"
/usr/include/sys/socket.h:515: error: parse error before "socklen_t"
/usr/include/sys/socket.h:518: error: parse error before "recv"
/usr/include/sys/socket.h:518: error: parse error before "size_t"
/usr/include/sys/socket.h:519: error: parse error before "recvfrom"
/usr/include/sys/socket.h:519: error: parse error before "size_t"
/usr/include/sys/socket.h:520: error: parse error before "recvmsg"
/usr/include/sys/socket.h:521: error: parse error before "send"
/usr/include/sys/socket.h:521: error: parse error before "size_t"
/usr/include/sys/socket.h:522: error: parse error before "sendto"
/usr/include/sys/socket.h:523: error: parse error before "size_t"
/usr/include/sys/socket.h:524: error: parse error before "sendmsg"
/usr/include/sys/socket.h:528: error: parse error before "socklen_t"
/usr/include/sys/socket.h:240: error: storage size of `__ss_pad1'
isn't known
Then, if I put #include<stdio.h> before the inclusion of sys/socket.h
it works without any error!
/*incl.c*/
#include <stdio.h>
#include <sys/socket.h>
int main(int argc, char *argv[])
{
printf("ciao\n");
return 0;
}
Can you help me?
Did I make any mistake?
Thank you in advance
NIK
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwinos-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
!DSPAM:4224c76383381395144022!