resolv.h test proposal

Reini Urban rurban@x-ray.at
Mon Oct 25 13:04:00 GMT 2004


Stepan Kasal schrieb:
> Hello,
>    the text below seems to relly be a bug report with a proposed fix.
> So I take the liberty to forward it to the bug report address.

Many thanks for doing this for us.

> ----- Forwarded message from "Gerrit P. Haase" -----
> Date: Mon, 25 Oct 2004 13:46:43 +0200
> From: "Gerrit P. Haase" <freeweb@nyckelpiga.de>
> To: cygwin@cygwin.com
> Cc: autoconf@gnu.org
> Subject: Re: [bugreport] resolv.h test fails (was: Re: minires-devel-0.97-1:
> 	resolv.h fails)
> 
> Gerrit wrote:
>>Pierre A. Humblet wrote:
>>>At 01:03 PM 10/18/2004 +0200, Corinna Vinschen wrote:
>>>>On Oct 18 03:28, Reini Urban wrote:
>>>>
>>>>>minires-devel-0.97-1:
>>>>> #include <resolv.h> fails suddenly.
>>>>>
>>>>>Apparently /usr/include/resolv.h misses the definition for
>>>>>sockaddr_in, which is defined in <cygwin/in.h>
>>>>>
>>>>>Have no clue why it suddenly fails. Anyone else?
>>>>>These headers didn't change for years...
>>>>>
>>>>>Which file is supposed to include cygwin/in.h? I found nothing.
>>>>
>>>>netinet/in.h
>>>
>>>
>>>Its an upstream issue. According to the resolver man page, 
>>>netinet/in.h should be included before resolv.h.
>>>
>>>For example
>>><http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?resolver+3>
>>>SYNOPSIS
>>>     #include <sys/types.h>
>>>     #include <netinet/in.h>
>>>     #include <arpa/nameser.h>
>>>     #include <resolv.h>
>>>
> 
>>I think this is correct.  What is buggy is the autoconf test which is
>>just including resolv.h and not netinet/in.h to compile the test exe.
> 
> This applies to the default test when calling
> AC_CHECK_HEADERS([resolv.h])
> 
> Workaround is to use s.th. like this in configure.ac:
> 
> AC_CHECK_HEADERS([arpa/nameser.h netinet/in.h sys/socket.h sys/types.h])
> AC_CHECK_HEADERS([resolv.h], [], [],
>       [[#if HAVE_SYS_TYPES_H
>         #  include <sys/types.h>
>         #endif
>         #ifdef HAVE_NETINET_IN_H
>         #  include <netinet/in.h>   /* inet_ functions / structs */
>         #endif
>         #ifdef HAVE_ARPA_NAMESER_H
>         #  include <arpa/nameser.h> /* DNS HEADER struct */
>         #endif
>         #ifdef HAVE_SYS_SOCKET_H
>         #  include <sys/socket.h> /* DNS HEADER struct */
>         #endif
>      ]])
> 
> Anyway, there should be a macro which provides this functionity.

-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list