Subject: Re: [bugreport] resolv.h test fails (was: Re: minires-devel-0.97-1: resolv.h fails)
From: "Gerrit P. Haase" <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Mon, 25 Oct 2004 13:46:43 +0200

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.

-- 
=^..^=                                     http://nyckelpiga.de/donate.html

--
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/