[ovs-dev] [PATCH] Fix broken build in XenServer DDK 5.6.100-39265p.

Ethan Jackson ethan at nicira.com
Thu Oct 13 14:42:36 PDT 2011


This seems fine to me if assuming it fixes the errors.  Jesse knows
more about this sort of thing than I do so perhaps he should take a
look.

Ethan

On Thu, Oct 13, 2011 at 14:38, Ben Pfaff <blp at nicira.com> wrote:
> Avoids errors like the following:
>
> In file included from ./include/openvswitch/types.h:21,
>                 from ./lib/vconn.h:21,
>                 from tests/test-vconn.c:18:
> /usr/include/sys/types.h:52: error: conflicting types for 'ino_t'
> /usr/include/linux/types.h:14: error: previous declaration of 'ino_t' was here
> /usr/include/sys/types.h:62: error: conflicting types for 'dev_t'
> /usr/include/linux/types.h:13: error: previous declaration of 'dev_t' was here
> /usr/include/sys/types.h:67: error: conflicting types for 'gid_t'
> /usr/include/linux/types.h:27: error: previous declaration of 'gid_t' was here
> /usr/include/sys/types.h:72: error: conflicting types for 'mode_t'
> /usr/include/linux/types.h:15: error: previous declaration of 'mode_t' was here
> /usr/include/sys/types.h:77: error: conflicting types for 'nlink_t'
> /usr/include/linux/types.h:16: error: previous declaration of 'nlink_t' was here
> /usr/include/sys/types.h:82: error: conflicting types for 'uid_t'
> /usr/include/linux/types.h:26: error: previous declaration of 'uid_t' was here
> /usr/include/sys/types.h:90: error: conflicting types for 'off_t'
> /usr/include/linux/types.h:17: error: previous declaration of 'off_t' was here
> ---
>  include/linux/types.h |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/types.h b/include/linux/types.h
> index 4579add..13112e8 100644
> --- a/include/linux/types.h
> +++ b/include/linux/types.h
> @@ -23,7 +23,13 @@
>  * <linux/types.h> to allow <linux/openvswitch.h> to work, that is, it defines
>  * the __u<N> and __be<N> types. */
>
> -#if __KERNEL__ || HAVE_LINUX_TYPES_H
> +#ifdef __KERNEL__
> +#include_next <linux/types.h>
> +#elif defined(HAVE_LINUX_TYPES_H)
> +/* With some combinations of kernel and userspace headers, including both
> + * <sys/types.h> and <linux/types.h> only works if you do so in that order, so
> + * force it.  */
> +#include <sys/types.h>
>  #include_next <linux/types.h>
>  #else  /* no <linux/types.h> */
>  #include <stdint.h>
> --
> 1.7.4.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>



More information about the dev mailing list