[dpdk-dev] dpdk-armv7: build failure since de96fe68ae9

Pascal Mazon pascal.mazon at 6wind.com
Fri Apr 7 14:05:59 CEST 2017


On Fri, 7 Apr 2017 13:13:13 +0200
Jan Viktorin <viktorin at rehivetech.com> wrote:

> Hello Pascal,
> 
> my internal ARMv7 DPDK autobuilder is failing. I've bisected to the
> source of the problem:
> 
> commit de96fe68ae95990f5ce2cd4c8d9547ab62d2a810
> Author: Pascal Mazon <pascal.mazon at 6wind.com>
> Date:   Thu Mar 23 09:33:57 2017 +0100
> 
>     net/tap: add basic flow API patterns and actions
> 
> 
> Is it a know issue? Is there some patch for this already?

Hello Jan,

Well I'm quite surprised (and don't have a patch yet).
In drivers/net/tap/Makefile, I'm using buildtools/auto-config-h.sh to determine whether the TCA_FLOWER_UNSPEC enum can be found when including linux/pkt_cls.h.
In case it isn't found, I define it in tap_flow.c.

What's weird in this case is that auto-config-h.sh apparently doesn't use the same linux/pkt_cls.h as during tap compilation time, or it would have found it...

Can you run manually this command on the building system?
  VERBOSE=1 sh -- ./buildtools/auto-config-h.sh tap_autoconf.h HAVE_TC_FLOWER linux/pkt_cls.h enum TCA_FLOWER_UNSPEC

It should define HAVE_TC_FLOWER in the generated tap_autoconf.h.

The auto-config-h.sh script uses the following for compiling:
  ${CC} ${CPPFLAGS} ${EXTRA_CPPFLAGS} ${CFLAGS} ${EXTRA_CFLAGS} ${AUTO_CONFIG_CFLAGS} \
    -c -o /dev/null "${temp}" 1>&${out} 2>&${err}

If it does not use the same include folders as the standard compilation, then I guess we ought to fix the script.

Best regards,
Pascal

> 
> Error messages:
> 
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:52:2: error: redeclaration of enumerator ‘TCA_FLOWER_UNSPEC’
>   TCA_FLOWER_UNSPEC,
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:339:2: note: previous definition of ‘TCA_FLOWER_UNSPEC’ was here
>   TCA_FLOWER_UNSPEC,
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:53:2: error: redeclaration of enumerator ‘TCA_FLOWER_CLASSID’
>   TCA_FLOWER_CLASSID,
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:340:2: note: previous definition of ‘TCA_FLOWER_CLASSID’ was here
>   TCA_FLOWER_CLASSID,
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:54:2: error: redeclaration of enumerator ‘TCA_FLOWER_INDEV’
>   TCA_FLOWER_INDEV,
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:341:2: note: previous definition of ‘TCA_FLOWER_INDEV’ was here
>   TCA_FLOWER_INDEV,
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:55:2: error: redeclaration of enumerator ‘TCA_FLOWER_ACT’
>   TCA_FLOWER_ACT,
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:342:2: note: previous definition of ‘TCA_FLOWER_ACT’ was here
>   TCA_FLOWER_ACT,
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:56:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_ETH_DST’
>   TCA_FLOWER_KEY_ETH_DST,         /* ETH_ALEN */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:343:2: note: previous definition of ‘TCA_FLOWER_KEY_ETH_DST’ was here
>   TCA_FLOWER_KEY_ETH_DST,  /* ETH_ALEN */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:57:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_ETH_DST_MASK’
>   TCA_FLOWER_KEY_ETH_DST_MASK,    /* ETH_ALEN */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:344:2: note: previous definition of ‘TCA_FLOWER_KEY_ETH_DST_MASK’ was here
>   TCA_FLOWER_KEY_ETH_DST_MASK, /* ETH_ALEN */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:58:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_ETH_SRC’
>   TCA_FLOWER_KEY_ETH_SRC,         /* ETH_ALEN */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:345:2: note: previous definition of ‘TCA_FLOWER_KEY_ETH_SRC’ was here
>   TCA_FLOWER_KEY_ETH_SRC,  /* ETH_ALEN */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:59:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_ETH_SRC_MASK’
>   TCA_FLOWER_KEY_ETH_SRC_MASK,    /* ETH_ALEN */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:346:2: note: previous definition of ‘TCA_FLOWER_KEY_ETH_SRC_MASK’ was here
>   TCA_FLOWER_KEY_ETH_SRC_MASK, /* ETH_ALEN */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:60:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_ETH_TYPE’
>   TCA_FLOWER_KEY_ETH_TYPE,        /* be16 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:347:2: note: previous definition of ‘TCA_FLOWER_KEY_ETH_TYPE’ was here
>   TCA_FLOWER_KEY_ETH_TYPE, /* be16 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:61:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IP_PROTO’
>   TCA_FLOWER_KEY_IP_PROTO,        /* u8 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:348:2: note: previous definition of ‘TCA_FLOWER_KEY_IP_PROTO’ was here
>   TCA_FLOWER_KEY_IP_PROTO, /* u8 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:62:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IPV4_SRC’
>   TCA_FLOWER_KEY_IPV4_SRC,        /* be32 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:349:2: note: previous definition of ‘TCA_FLOWER_KEY_IPV4_SRC’ was here
>   TCA_FLOWER_KEY_IPV4_SRC, /* be32 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:63:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IPV4_SRC_MASK’
>   TCA_FLOWER_KEY_IPV4_SRC_MASK,   /* be32 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:350:2: note: previous definition of ‘TCA_FLOWER_KEY_IPV4_SRC_MASK’ was here
>   TCA_FLOWER_KEY_IPV4_SRC_MASK, /* be32 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:64:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IPV4_DST’
>   TCA_FLOWER_KEY_IPV4_DST,        /* be32 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:351:2: note: previous definition of ‘TCA_FLOWER_KEY_IPV4_DST’ was here
>   TCA_FLOWER_KEY_IPV4_DST, /* be32 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:65:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IPV4_DST_MASK’
>   TCA_FLOWER_KEY_IPV4_DST_MASK,   /* be32 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:352:2: note: previous definition of ‘TCA_FLOWER_KEY_IPV4_DST_MASK’ was here
>   TCA_FLOWER_KEY_IPV4_DST_MASK, /* be32 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:66:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IPV6_SRC’
>   TCA_FLOWER_KEY_IPV6_SRC,        /* struct in6_addr */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:353:2: note: previous definition of ‘TCA_FLOWER_KEY_IPV6_SRC’ was here
>   TCA_FLOWER_KEY_IPV6_SRC, /* struct in6_addr */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:67:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IPV6_SRC_MASK’
>   TCA_FLOWER_KEY_IPV6_SRC_MASK,   /* struct in6_addr */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:354:2: note: previous definition of ‘TCA_FLOWER_KEY_IPV6_SRC_MASK’ was here
>   TCA_FLOWER_KEY_IPV6_SRC_MASK, /* struct in6_addr */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:68:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IPV6_DST’
>   TCA_FLOWER_KEY_IPV6_DST,        /* struct in6_addr */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:355:2: note: previous definition of ‘TCA_FLOWER_KEY_IPV6_DST’ was here
>   TCA_FLOWER_KEY_IPV6_DST, /* struct in6_addr */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:69:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_IPV6_DST_MASK’
>   TCA_FLOWER_KEY_IPV6_DST_MASK,   /* struct in6_addr */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:356:2: note: previous definition of ‘TCA_FLOWER_KEY_IPV6_DST_MASK’ was here
>   TCA_FLOWER_KEY_IPV6_DST_MASK, /* struct in6_addr */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:70:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_TCP_SRC’
>   TCA_FLOWER_KEY_TCP_SRC,         /* be16 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:357:2: note: previous definition of ‘TCA_FLOWER_KEY_TCP_SRC’ was here
>   TCA_FLOWER_KEY_TCP_SRC,  /* be16 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:71:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_TCP_DST’
>   TCA_FLOWER_KEY_TCP_DST,         /* be16 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:358:2: note: previous definition of ‘TCA_FLOWER_KEY_TCP_DST’ was here
>   TCA_FLOWER_KEY_TCP_DST,  /* be16 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:72:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_UDP_SRC’
>   TCA_FLOWER_KEY_UDP_SRC,         /* be16 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:359:2: note: previous definition of ‘TCA_FLOWER_KEY_UDP_SRC’ was here
>   TCA_FLOWER_KEY_UDP_SRC,  /* be16 */
>   ^
> /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:73:2: error: redeclaration of enumerator ‘TCA_FLOWER_KEY_UDP_DST’
>   TCA_FLOWER_KEY_UDP_DST,         /* be16 */
>   ^
> In file included from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_tcmsgs.h:40:0,
>                  from /var/lib/jenkins/jobs/dpdk-armv7/workspace/drivers/net/tap/tap_flow.c:44:
> /opt/gcc/br2-arm32-glibc-4.9.x/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/linux/pkt_cls.h:360:2: note: previous definition of ‘TCA_FLOWER_KEY_UDP_DST’ was here
>   TCA_FLOWER_KEY_UDP_DST,  /* be16 */
>   ^
> make[4]: *** [tap_flow.o] Error 1
> make[3]: *** [tap] Error 2
> make[2]: *** [net] Error 2
> make[1]: *** [drivers] Error 2
> make: *** [all] Error 2
> Finished: FAILURE
> 
> Regards
> Jan Viktorin
> 



More information about the dev mailing list