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)

Reply via email to