On Fri, Sep 16, 2005 at 11:35:14AM +0100, Dave Shield wrote: > On Fri, 2005-09-16 at 12:21 +0200, Thomas Anders wrote: > > P.Taylor wrote: > > > configure: WARNING: sys/socketvar.h: present but cannot be compiled > > > > This is a known issue. The warnings can be safely ignored. > > Does this still affect the current CVS code (various branches). > It's probably worth someone checking exactly *why* configure > is getting confused, and shutting it up.
Yes, it affects the current cvs code. The problem is - exactly as reported - that the include file foo.h is present but can't be compiled. As far as I understand it configure first tries to locate the file foo.h and then tries to compile the small test program: /* All acdefines defined up to now */ /* Includes in the INCLUDE parameter */ #include <foo.h> Now, with sysv-based include files this would just tend to work but when you have a BSD-style include file then you have to list all prerequisites explicitly. As an example the attached patch to configure.in fixes all the warnings on AIX 5.2 but I do not want it applied yet as it messes up configure.in way to much. /MF
2387c2387,2418 < AC_CHECK_HEADERS(stdarg.h string.h fcntl.h limits.h sys/file.h sys/ioctl.h syslog.h unistd.h netinet/tcpip.h netinet/in.h netinet/ip.h netinet/ip_icmp.h net/if.h net/if_arp.h netdb.h sys/dmap.h machine/pte.h xti.h sys/sockio.h sys/socket.h sys/un.h fstab.h sys/fs.h mtab.h ufs/fs.h ufs/ffs/fs.h sys/fixpoint.h machine/param.h sys/vm.h vm/vm.h sys/vmmeter.h sys/vmparam.h sys/vmmac.h sys/vmsystm.h sys/mbuf.h sys/time.h sys/times.h sys/swap.h inet/mib2.h sys/statvfs.h sys/vfs.h sys/mnttab.h sys/user.h sys/proc.h sys/select.h mntent.h sys/mntent.h kstat.h utsname.h sys/utsname.h sys/cdefs.h getopt.h locale.h pthread.h sys/loadavg.h regex.h linux/tasks.h pwd.h grp.h utmpx.h) --- > AC_CHECK_HEADERS(stdarg.h string.h fcntl.h limits.h sys/file.h sys/ioctl.h > syslog.h unistd.h netinet/in.h sys/socket.h sys/machine.h) > AC_CHECK_HEADERS(netinet/ip6.h net/route.h netinet/ip_var.h netinet/ip.h > netinet/tcp.h net/if.h net/if_arp.h netdb.h sys/dmap.h machine/pte.h xti.h > sys/sockio.h sys/un.h fstab.h sys/fs.h mtab.h ufs/fs.h ufs/ffs/fs.h > sys/fixpoint.h machine/param.h sys/vm.h vm/vm.h sys/vmmeter.h sys/vmparam.h > sys/vmmac.h sys/vmsystm.h sys/mbuf.h sys/time.h sys/times.h sys/swap.h > inet/mib2.h sys/statvfs.h sys/vfs.h sys/mnttab.h sys/user.h sys/proc.h > sys/select.h mntent.h sys/mntent.h kstat.h utsname.h sys/utsname.h > sys/cdefs.h getopt.h locale.h pthread.h sys/loadavg.h regex.h linux/tasks.h > pwd.h grp.h utmpx.h, [], [], > AC_INCLUDES_DEFAULT([]) > [#if HAVE_SYS_MACHINE_H > #include <sys/machine.h> > #endif > #if HAVE_SYS_SOCKET_H > #include <sys/socket.h> > #endif > #if HAVE_NETINET_IN_H > #include <netinet/in.h> > #endif]) > AC_CHECK_HEADERS(netinet/tcpip.h netinet/ip_icmp.h netinet/in_var.h > netinet/tcp_var.h netinet/udp_var.h netinet/icmp_var.h, [], [], > AC_INCLUDES_DEFAULT([]) > [#if HAVE_SYS_MACHINE_H > #include <sys/machine.h> > #endif > #if HAVE_SYS_SOCKET_H > #include <sys/socket.h> > #endif > #if HAVE_NET_IF_H > #include <net/if.h> > #endif > #if HAVE_NETINET_IN_H > #include <netinet/in.h> > #endif > #if HAVE_NETINET_UDP_H > #include <netinet/udp.h> > #endif > #if HAVE_NETINET_IP_H > #include <netinet/ip.h> > #endif]) 2391c2422 < AC_CHECK_HEADERS(sys/conf.h netinet/in_systm.h netinet/tcp.h netinet/udp.h netinet/in_var.h netinet/if_ether.h netinet/ip_var.h netinet/tcp_timer.h netinet/tcp_var.h netinet/tcp_fsm.h netinet/udp_var.h netinet/icmp_var.h sys/protosw.h nlist.h ioctls.h asm/page.h netipx/ipx.h) --- > AC_CHECK_HEADERS(sys/conf.h netinet/in_systm.h netinet/udp.h > netinet/if_ether.h netinet/tcp_timer.h netinet/tcp_fsm.h sys/protosw.h > nlist.h ioctls.h asm/page.h netipx/ipx.h) 2404,2405d2434 < # Dynix < AC_CHECK_HEADERS(net/route.h) 2444c2473 < AC_CHECK_HEADERS(netinet/ip6.h netinet6/in6_var.h netinet6/in6_pcb.h netinet6/ip6_var.h netinet6/tcp6.h netinet6/tcp6_fsm.h netinet6/nd6.h netinet6/tcp6_timer.h netinet6/tcp6_var.h) --- > AC_CHECK_HEADERS(netinet6/in6_var.h netinet6/in6_pcb.h netinet6/ip6_var.h > netinet6/tcp6.h netinet6/tcp6_fsm.h netinet6/nd6.h netinet6/tcp6_timer.h > netinet6/tcp6_var.h)