[ruby-core:32778] Re: [Ruby-Bug#3802] freeaddrinfo not found in WS2_32.dll

From: Luis Lavena <luislavena@...>
Date: 2010-10-13 18:09:50 UTC
List: ruby-core #32778
On Wed, Oct 13, 2010 at 2:43 AM, Heesob Park <phasis@gmail.com> 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).
--=20
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=E9ry

In This Thread