(I'm not on the devel list, so please Cc: replies either to me or the users list.)
After recently upgrading my distro (from Slackware 10.1 to Slackware 10.2 with Freerock GNOME), configure (current CVS) now reports
configure: WARNING: linux/capi.h: present but cannot be compiled configure: WARNING: linux/capi.h: check for missing prerequisite headers? configure: WARNING: linux/capi.h: see the Autoconf documentation configure: WARNING: linux/capi.h: section "Present But Cannot Be Compiled" configure: WARNING: linux/capi.h: proceeding with the preprocessor's result configure: WARNING: linux/capi.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------ ## configure: WARNING: ## Report this to wine-devel@winehq.org ## configure: WARNING: ## ------------------------------------ ##
It seems linux/capi.h requires linux/compiler.h (for __user). I tried simply putting linux/compiler.h above linux/capi.h in the AC_CHECK_HEADERS list, but that did't work, so I'll have to leave the fix to someone who actually knows something about autoconf.
This is the relevant section from config.log:
configure:7159: checking linux/capi.h usability configure:7171: gcc -c -g -O2 conftest.c >&5 In file included from conftest.c:76: /usr/include/linux/capi.h:80: error: variable or field `__user' declared void /usr/include/linux/capi.h:80: error: syntax error before '*' token /usr/include/linux/capi.h:115: error: syntax error before "capi_manufacturer_cmd" /usr/include/linux/capi.h:117: error: syntax error before '}' token configure:7177: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "Wine" | #define PACKAGE_TARNAME "wine" | #define PACKAGE_VERSION "0.9.6" | #define PACKAGE_STRING "Wine 0.9.6" | #define PACKAGE_BUGREPORT "wine-devel@winehq.org" | #ifdef __cplusplus | extern "C" void std::exit (int) throw (); using std::exit; | #endif | #define YYTEXT_POINTER 1 | #define HAVE_GETHOSTBYNAME 1 | #define HAVE_CONNECT 1 | #define HAVE_INET_ATON 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_ALSA_ASOUNDLIB_H 1 | #define HAVE_ARPA_INET_H 1 | #define HAVE_ARPA_NAMESER_H 1 | #define HAVE_ASM_TYPES_H 1 | #define HAVE_CUPS_CUPS_H 1 | #define HAVE_CURSES_H 1 | #define HAVE_DLFCN_H 1 | #define HAVE_ELF_H 1 | #define HAVE_FLOAT_H 1 | #define HAVE_GETOPT_H 1 | #define HAVE_GIF_LIB_H 1 | #define HAVE_JPEGLIB_H 1 | #define HAVE_LBER_H 1 | #define HAVE_LCMS_H 1 | #define HAVE_LDAP_H 1 | #define HAVE_LINK_H 1 | /* end confdefs.h. */ | #include <stdio.h> | #if HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #if HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #if STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # if HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #if HAVE_STRING_H | # if !STDC_HEADERS && HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #if HAVE_STRINGS_H | # include <strings.h> | #endif | #if HAVE_INTTYPES_H | # include <inttypes.h> | #else | # if HAVE_STDINT_H | # include <stdint.h> | # endif | #endif | #if HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <linux/capi.h> configure:7199: result: no configure:7203: checking linux/capi.h presence configure:7213: gcc -E conftest.c configure:7219: $? = 0 configure:7239: result: yes configure:7252: WARNING: linux/capi.h: present but cannot be compiled configure:7254: WARNING: linux/capi.h: check for missing prerequisite headers? configure:7256: WARNING: linux/capi.h: see the Autoconf documentation configure:7258: WARNING: linux/capi.h: section "Present But Cannot Be Compiled" configure:7260: WARNING: linux/capi.h: proceeding with the preprocessor's result configure:7262: WARNING: linux/capi.h: in the future, the compiler will take precedence configure:7274: checking for linux/capi.h configure:7281: result: yes