On OpenBSD, the OS headers include sys/ucred.h through sys/mount.h. For this to work, conftest needs to include sys/param.h before sys/mount.h to get the definition for NGROUPS. I'm not sure if NetBSD also requires this, or not. It seems like an odd dependency.
configure: WARNING: sys/mount.h: present but cannot be compiled configure: WARNING: sys/mount.h: check for missing prerequisite headers? configure: WARNING: sys/mount.h: see the Autoconf documentation configure: WARNING: sys/mount.h: section "Present But Cannot Be Compiled" configure: WARNING: sys/mount.h: proceeding with the preprocessor's result configure: WARNING: sys/mount.h: in the future, the compiler will take precedence configure: WARNING: ## --------------------------------------------- ## configure: WARNING: ## Report this to varnish-dev@projects.linpro.no ## configure: WARNING: ## --------------------------------------------- ## --- configure:20770: checking sys/mount.h usability configure:20787: gcc -c -g -O2 conftest.c >&5 In file included from /usr/include/sys/mount.h:40, from conftest.c:59: /usr/include/sys/ucred.h:46: error: `NGROUPS' undeclared here (not in a function) configure:20793: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "Varnish" | #define PACKAGE_TARNAME "varnish" | #define PACKAGE_VERSION "1.1.2" | #define _GNU_SOURCE 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | #define STDC_HEADERS 1 | #define HAVE_SYS_WAIT_H 1 | #define TIME_WITH_SYS_TIME 1 | #define HAVE_SYS_SOCKET_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <sys/mount.h> configure:20807: result: no configure:20811: checking sys/mount.h presence configure:20826: gcc -E conftest.c configure:20832: $? = 0 configure:20846: result: yes configure:20859: WARNING: sys/mount.h: present but cannot be compiled configure:20861: WARNING: sys/mount.h: check for missing prerequisite headers? configure:20863: WARNING: sys/mount.h: see the Autoconf documentation configure:20865: WARNING: sys/mount.h: section "Present But Cannot Be Compiled" configure:20867: WARNING: sys/mount.h: proceeding with the preprocessor's resultconfigure:20869: WARNING: sys/mount.h: in the future, the compiler will take precedence configure:20879: checking for sys/mount.h configure:20887: result: yes _______________________________________________ varnish-dev mailing list varnish-dev@projects.linpro.no http://projects.linpro.no/mailman/listinfo/varnish-dev