From: Luis Lavena Date: 2010-10-14T03:09:50+09:00 Subject: [ruby-core:32778] Re: [Ruby-Bug#3802] freeaddrinfo not found in WS2_32.dll On Wed, Oct 13, 2010 at 2:43 AM, Heesob Park wrote: > > It seems that getaddrinfo.c is not ready for Windows with ipv6 enabled. > Well, ipv6 gets compiled and works when --enable-ipv6 is provided to the configure process (ext/socket/extconf.h) #ifndef EXTCONF_H #define EXTCONF_H #define HAVE_SOCKETPAIR 1 #define ENABLE_IPV6 1 #define INET6 1 #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 #define HAVE_SOCKADDR_STORAGE 1 #define HAVE_SENDMSG 1 #define HAVE_RECVMSG 1 #define HAVE_TYPE_STRUCT_ADDRINFO 1 #define HAVE_FREEADDRINFO 1 #define HAVE_GAI_STRERROR 1 #define HAVE_GETNAMEINFO 1 #define HAVE_GETADDRINFO 1 #define HAVE_SYS_PARAM_H 1 #define HAVE_TYPE_SOCKLEN_T 1 #define HAVE_TYPE_STRUCT_IN_PKTINFO 1 #define HAVE_TYPE_STRUCT_IN6_PKTINFO 1 #define HAVE_WSACLEANUP 1 #define HAVE_GETHOSTNAME 1 #endif But combined with --enable-wide-getaddrinfo breaks. So there is a compromise, either we loose IPv6 on newer OS or we keep compatibility with old systems (Windows 2000). -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup�ry