configure fails to successfully detect sys/mount.h as the detection requires sys/param.h to be included resulting in the following compile error as sys/mount.h is not included. file.c: In function `IsRemote': file.c:130: error: storage size of 'stf' isn't known file.c:132: error: implicit declaration of function `fstatfs' file.c:130: warning: unused variable `stf' autoconf does not appear to be aware of this relationship and should also be fixed to prevent. configure:23398: checking sys/mount.h usability configure:23398: cc -std=gnu99 -c -O2 -fno-strict-aliasing -pipe -pthread -I/usr /ports/multimedia/vlc/work/fake//usr/local/include -I/usr/ports/multimedia/vlc/w ork/vlc-1.0.3/include -I/usr/local/include/speex -I/usr/local/include -I/usr/loc al/ffmpeg -I/usr/local/include -DSYS_FREEBSD6_4 conftest.c >&5 In file included from /usr/include/sys/mount.h:36, from conftest.c:136: /usr/include/sys/ucred.h:71: error: `NGROUPS' undeclared here (not in a function ) configure:23398: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "vlc" | #define PACKAGE_TARNAME "vlc" | #define PACKAGE_VERSION "1.0.3" | #define PACKAGE_STRING "vlc 1.0.3" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "vlc" | #define VERSION "1.0.3" | #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 __EXTENSIONS__ 1 | #define _ALL_SOURCE 1 | #define _GNU_SOURCE 1 | #define _POSIX_PTHREAD_SEMANTICS 1 | #define _TANDEM_SOURCE 1 | #define _FORTIFY_SOURCE 2 | #define restrict __restrict | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define HAVE_ICONV 1 | #define ENABLE_NLS 1 | #define HAVE_GETTEXT 1 | #define HAVE_DCGETTEXT 1 | #define HAVE_ICONV 1 | #define ICONV_CONST const | #define LIBEXT ".so" | #define HAVE_GETTIMEOFDAY 1 | #define HAVE_ISATTY 1 | #define HAVE_GETPWUID_R 1 | #define HAVE_IF_NAMETOINDEX 1 | #define HAVE_GETENV 1 | #define HAVE_PUTENV 1 | #define HAVE_SETENV 1 | #define HAVE_CTIME_R 1 | #define HAVE_DAEMON 1 | #define HAVE_FORK 1 | #define HAVE_LSTAT 1 | #define HAVE_POSIX_MADVISE 1 | #define HAVE_ALLOCA 1 | #define HAVE_FCNTL 1 | #define HAVE_ASPRINTF 1 | #define HAVE_ATOF 1 | #define HAVE_ATOLL 1 | #define HAVE_GETCWD 1 | #define HAVE_GMTIME_R 1 | #define HAVE_LLDIV 1 | #define HAVE_LOCALTIME_R 1 | #define HAVE_REWIND 1 | #define HAVE_STRCASECMP 1 | #define HAVE_STRCASESTR 1 | #define HAVE_STRDUP 1 | #define HAVE_STRLCPY 1 | #define HAVE_STRNCASECMP 1 | #define HAVE_STRSEP 1 | #define HAVE_STRTOF 1 | #define HAVE_STRTOLL 1 | #define HAVE_VASPRINTF 1 | #define HAVE_SWAB 1 | #define fdatasync fsync | #define HAVE_FSTATFS 1 | #define HAVE_MMAP 1 | #define HAVE_SETLOCALE 1 | #define HAVE_LANGINFO_H 1 | #define HAVE_NL_LANGINFO 1 | #define HAVE_LANGINFO_CODESET 1 | #define HAVE_CONNECT 1 | #define HAVE_SEND 1 | #define HAVE_GETADDRINFO 1 | #define HAVE_GETNAMEINFO 1 | #define HAVE_GAI_STRERROR 1 | #define HAVE_STRUCT_ADDRINFO 1 | #define HAVE_ADDRINFO 1 | #define HAVE_VA_COPY 1 | #define HAVE_INET_ATON 1 | #define HAVE_GETOPT_LONG 1 | #define HAVE_GETOPT_LONG 1 | #define RETSIGTYPE void | #define HAVE_LRINTF 1 | #define HAVE_DLFCN_H 1 | #define HAVE_DL_DLOPEN 1 | #define HAVE_NANOSLEEP 1 | #define HAVE_NANOSLEEP 1 | #define STRNCASECMP_IN_STRINGS_H 1 | #define HAVE_GETOPT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_LOCALE_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_TIME_H 1 | #define HAVE_SYS_TIMES_H 1 | #define HAVE_SYS_IOCTL_H 1 | #define HAVE_SYS_STAT_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:23398: result: no configure:23398: checking sys/mount.h presence configure:23398: cc -std=gnu99 -E -I/usr/ports/multimedia/vlc/work/fake//usr/loc al/include -I/usr/ports/multimedia/vlc/work/vlc-1.0.3/include -I/usr/local/inclu de/speex -I/usr/local/include -I/usr/local/ffmpeg -I/usr/local/include -DSYS_FR EEBSD6_4 conftest.c configure:23398: $? = 0 configure:23398: result: yes configure:23398: WARNING: sys/mount.h: present but cannot be compiled configure:23398: WARNING: sys/mount.h: check for missing prerequisite header s? configure:23398: WARNING: sys/mount.h: see the Autoconf documentation configure:23398: WARNING: sys/mount.h: section "Present But Cannot Be Compil ed" configure:23398: WARNING: sys/mount.h: proceeding with the compiler's result configure:23398: checking for sys/mount.h configure:23398: result: no How-To-Repeat: Attempt to compile
Maintainer of multimedia/vlc, Please note that PR ports/140521 has just been submitted. If it contains a patch for an upgrade, an enhancement or a bug fix you agree on, reply to this email stating that you approve the patch and a committer will take care of it. The full text of the PR can be found at: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/140521 -- Edwin Groothuis via the GNATS Auto Assign Tool edwin@FreeBSD.org
State Changed From-To: open->feedback Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
thierry@ whipped up a fix for this and commited it just a few minutes after you sent your PR. Checkout the latest ports and let us know if it worked for you.
Responsible Changed From-To: freebsd-ports-bugs->thierry Take it.
In message <4B0069AF.50902@gmail.com>, "Joseph S. Atkinson" writes: > thierry@ whipped up a fix for this and commited it just a few minutes after y > ou > sent your PR. Checkout the latest ports and let us know if it worked for you. That addressed the specific issue w/ multimedia/vlc. There is still the underlying issue with autoconf thinking that it can probe for <sys/mount.h> by just including it w/o also including <sys/param.h>. Mark -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org
On Mon 16 nov 09 at 3:50:01 +0100, Mark Andrews <marka@isc.org> wrote: > That addressed the specific issue w/ multimedia/vlc. > > There is still the underlying issue with autoconf thinking that it > can probe for <sys/mount.h> by just including it w/o also including > <sys/param.h>. Hello Mark, Unfortunately, neither me nor Joseph has a FreeBSD-6 available to test it. Could you please check the hereunder patch, and report config.log and config.status? --- patch-configure begins here --- --- configure.orig 2009-10-29 20:05:51.000000000 +0100 +++ configure 2009-11-16 21:31:14.000000000 +0100 @@ -23392,7 +23392,7 @@ done -for ac_header in fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h sys/mount.h +for ac_header in fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -23406,6 +23406,20 @@ done +# Test sys/mount.h for FreeBSD < 7 +for ac_header in sys/mount.h +do : + ac_fn_c_check_header_compile "$LINENO" "sys/mount.h" "ac_cv_header_sys_mount_h" " +#include <sys/param.h> +" +if test "x$ac_cv_header_sys_mount_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF +fi +done + + for ac_header in arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` --- patch-configure ends here --- Best regards, -- Th. Thomas.
B.T.W. I was thinking about fixing autoconf itself. Something like what is done for resolv.h in share/autoconf-2.62/autoconf/headers.m4. This would naturally have to be pushed back upstream. # AC_HEADER_RESOLV # ---------------- # According to http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?resolver+3 # (or http://www.chemie.fu-berlin.de/cgi-bin/man/sgi_irix?resolver+3), # sys/types.h, netinet/in.h and arpa/nameser.h are required on IRIX. # netinet/in.h is needed on Cygwin, too. # With Solaris 9, netdb.h is required, to get symbols like HOST_NOT_FOUND. # AN_HEADER(resolv.h, [AC_HEADER_RESOLV]) AC_DEFUN([AC_HEADER_RESOLV], [AC_CHECK_HEADERS(sys/types.h netinet/in.h arpa/nameser.h netdb.h resolv.h, [], [], [[#ifdef 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_NETDB_H # include <netdb.h> #endif]]) ])# AC_HEADER_RESOLV -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org
Mark Andrews wrote: > B.T.W. I was thinking about fixing autoconf itself. Something like what > is done for resolv.h in share/autoconf-2.62/autoconf/headers.m4. This > would naturally have to be pushed back upstream. > > # AC_HEADER_RESOLV > # ---------------- > # According to http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?resolver+3 > # (or http://www.chemie.fu-berlin.de/cgi-bin/man/sgi_irix?resolver+3), > # sys/types.h, netinet/in.h and arpa/nameser.h are required on IRIX. > # netinet/in.h is needed on Cygwin, too. > # With Solaris 9, netdb.h is required, to get symbols like HOST_NOT_FOUND. > # > AN_HEADER(resolv.h, [AC_HEADER_RESOLV]) > AC_DEFUN([AC_HEADER_RESOLV], > [AC_CHECK_HEADERS(sys/types.h netinet/in.h arpa/nameser.h netdb.h resolv.h, > [], [], > [[#ifdef 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_NETDB_H > # include <netdb.h> > #endif]]) > ])# AC_HEADER_RESOLV > Try defining HAS_SYS_MOUNT_H
In message <4B01E722.10009@gmail.com>, "Joseph S. Atkinson" writes: > Mark Andrews wrote: > > B.T.W. I was thinking about fixing autoconf itself. Something like what > > is done for resolv.h in share/autoconf-2.62/autoconf/headers.m4. This > > would naturally have to be pushed back upstream. > > > > # AC_HEADER_RESOLV > > # ---------------- > > # According to http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?resolver+3 > > # (or http://www.chemie.fu-berlin.de/cgi-bin/man/sgi_irix?resolver+3), > > # sys/types.h, netinet/in.h and arpa/nameser.h are required on IRIX. > > # netinet/in.h is needed on Cygwin, too. > > # With Solaris 9, netdb.h is required, to get symbols like HOST_NOT_FOUND. > > # > > AN_HEADER(resolv.h, [AC_HEADER_RESOLV]) > > AC_DEFUN([AC_HEADER_RESOLV], > > [AC_CHECK_HEADERS(sys/types.h netinet/in.h arpa/nameser.h netdb.h resolv.h, > > [], [], > > [[#ifdef 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_NETDB_H > > # include <netdb.h> > > #endif]]) > > ])# AC_HEADER_RESOLV > > > > Try defining HAS_SYS_MOUNT_H vlc is compiled. I'm trying to get the underlying problem addressed which is a defect in autoconf. Every project shouldn't have to do something like the following to detect OS header files. I can understand doing that for headers that arn't part of the OS. I might have got the autoconf systax slightly wrong but I'm sure you get the drift. Mark AC_CHECK_HEADERS(sys/param.h sys/mount.h, [ #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif ]) Mark -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org
On Tue 17 nov 09 at 1:09:09 +0100, Mark Andrews <marka@isc.org> wrote: > vlc is compiled. > > I'm trying to get the underlying problem addressed which is a defect > in autoconf. Every project shouldn't have to do something like > the following to detect OS header files. I can understand doing > that for headers that arn't part of the OS. I might have got the > autoconf systax slightly wrong but I'm sure you get the drift. > > Mark > > AC_CHECK_HEADERS(sys/param.h sys/mount.h, [ > #ifdef HAVE_SYS_PARAM_H > #include <sys/param.h> > #endif > ]) BTW, if the problem is solved in configure, I guess that my previous patch could be removed? Regards, -- Th. Thomas.
In message <20091117073835.GB45614@graf.pompo.net>, Thierry Thomas writes: > On Tue 17 nov 09 at 1:09:09 +0100, Mark Andrews <marka@isc.org> > wrote: > > > vlc is compiled. > > > > I'm trying to get the underlying problem addressed which is a defect > > in autoconf. Every project shouldn't have to do something like > > the following to detect OS header files. I can understand doing > > that for headers that arn't part of the OS. I might have got the > > autoconf systax slightly wrong but I'm sure you get the drift. > > > > Mark > > > > AC_CHECK_HEADERS(sys/param.h sys/mount.h, [ > > #ifdef HAVE_SYS_PARAM_H > > #include <sys/param.h> > > #endif > > ]) > > BTW, if the problem is solved in configure, I guess that my previous > patch could be removed? I suspect your first patch will be easier to maintain. > Regards, > -- > Th. Thomas. -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: marka@isc.org
thierry 2009-11-17 22:31:13 UTC FreeBSD ports repository Modified files: multimedia/vlc Makefile Removed files: multimedia/vlc/files patch-modules_access_file.c Log: Force the detection of <sys/mount.h> by configure for FreeBSD-6. PR: ports/140521 Submitted by: Mark Andrews <marka (at) isc.org> Approved by: Joseph S. Atkinson <jsa.bsd (at) gmail.com> (maintainer) Revision Changes Path 1.200 +1 -1 ports/multimedia/vlc/Makefile 1.2 +0 -11 ports/multimedia/vlc/files/patch-modules_access_file.c (dead) _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
State Changed From-To: feedback->closed I've just committed the patch sent by Joseph. Thanks for your collaboration!