On 06/07/07(05:14) you Derrick J Chacko <pu4habdyi-awtuzcego266.ml@delegate.org> wrote in <_A3751@delegate-en.ML_> |I am attempting to compile delegate from source on a HPUX11.11 PA-RISC |machine. We are operating in a IPv4 environment and I believe this may be |the problem. I am not sure how to disable the IPv6 check. When I run "make |CC=/usr/local/bin/gcc", I am getting the following errors. Any help would |be greatly appreciated. | |vsaddr.cc: In function 'int sock_isconnectedX(int, int)': |vsaddr.cc:51: error: invalid application of 'sizeof' to incomplete type |'SIN6' ... |vsaddr.cc:220: error: invalid use of undefined type 'struct sockaddr_in6' ... |vsaddr.cc:355: error: 'NI_NUMERICHOST' was not declared in this scope |vsaddr.cc:355: error: 'getnameinfo' was not declared in this scope |vsaddr.cc:503: error: 'freeaddrinfo' was not declared in this scope |vsaddr.cc:758: error: aggregate 'addrinfo hints' has incomplete type and |cannot be defined |vsaddr.cc:761: error: 'AI_NUMERICHOST' was not declared in this scope Hmm... I coded the automatic detection of the IPv6 incapablity in the file "include/vsocket.h" based on the absense of definition of "AF_INET6" or "IPPROTO_IPV6" but your environment seems to have both of them. So it should be detected by the absense of "NI_NUMERICHOST" and the modification as the enclosed patch is expected to work... Cheers, Yutaka -- 9 9 Yutaka Sato <y.sato@delegate.org> http://delegate.org/y.sato/ ( ~ ) National Institute of Advanced Industrial Science and Technology _< >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan Do the more with the less -- B. Fuller *** ../../delegate9.6.1-pre5/include/vsocket.h Fri May 18 14:42:29 2007 --- vsocket.h Thu Jun 7 13:09:39 2007 *************** *** 96,168 **** --- 96,172 ---- #define recvfrom Xrecvfrom /*#######################################################*/ #endif /* } _MSC_VER */ #ifdef SELF_AF_UNIX struct sockaddr_un { short sun_family; /* AF_UNIX */ char sun_path[108]; /* path name */ }; #endif #if defined(AF_INET6) && !defined(IPPROTO_IPV6) \ && defined(__linux__) /* RedHat6 */ #define IPPROTO_IPV6 IPPROTO_IPV6 /* defined only in enum */ #define sin6_scope_id sin6_flowinfo /* without scope_id */ #endif + /* #if !defined(AF_INET6) || !defined(IPPROTO_IPV6) + */ + #if !defined(AF_INET6) || !defined(IPPROTO_IPV6) || !defined(NI_NUMERICHOST) #ifndef AF_INET6 #define AF_INET6 ((unsigned int)-6) #endif struct in6_addr { unsigned char addr8[16]; }; /* "sin6_family" might be "short" in sockaddr_in for IPv4 * without "sin_len", so it should be not be referred for portability */ struct sockaddr_in6 { unsigned char sin6_len; unsigned char sin6_family; unsigned short sin6_port; unsigned int sin6_flowinfo; struct in6_addr sin6_addr; unsigned int sin6_scope_id; }; struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; unsigned int ai_addrlen; char *ai_canonname; struct sockaddr *ai_addr; struct addrinfo *ai_next; }; #define gethostbyname2(name,af) ((af==AF_INET)?gethostbyname(name):NULL) #define inet_pton(af,src,dst) -1 #define inet_ntop(af,src,dst,siz) NULL #define getaddrinfo(host,serv,hint,res) -1 #define getnameinfo(sa,salen,host,hlen,serv,slen,flags) -1 #define freeaddrinfo(ai) -1 #define AI_NUMERICHOST 4 #define IPPROTO_IPV6 41 + #define NI_NUMERICHOST 1 #endif #ifndef IPV6_V6ONLY #define IPV6_V6ONLY -1 #endif struct hostent *EX_GETHOSTBYNAME(PCStr(name)); /* system's standard resolver */ struct hostent *EX_GETHOSTBYADDR(PCStr(addr),int,int); /* system's standard resolver */ struct hostent *_GETHOSTBYNAME(PCStr(name)); /* resolvy */ struct hostent *_GETHOSTBYADDR(PCStr(addr),int,int); /* resolvy */ #ifdef SELF_RESOLV_H #ifndef _RESOLV_H_ #define _RESOLV_H_ #define MAXDNAME 128 #define MAXNS 3 #define MAXDFLSRCH 3