[dpdk-dev] Build failure on Ubuntu 14.04

Masaru Oki m-oki at stratosphere.co.jp
Fri Jul 11 10:43:26 CEST 2014


Hi,

I tried another workaround and works fine:
It similar to other kcompat function, add __kc_ prefix to function
definition
and #define skb_set_hash(a,b,c) __kc_skb_set_hash(a,b,c).

Thanks,



2014-07-06 0:27 GMT+09:00 Wiles, Roger Keith <keith.wiles at windriver.com>:

> Hi All,
>
> I got a build failure on :
>
> [10:20][keithw at keithw-W2600CR:umf(dev)]$ lsb_release -a
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description:    Ubuntu 14.04 LTS
> Release:        14.04
> Codename:       trusty
>
> Looks like the skb_set_hash() function changed from:
>
> static inline void
> skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
> {
>     skb->rxhash = hash;
> }
>
> To:
>
> static inline void
> skb_set_hash(struct sk_buff *skb, __u32 hash, enum pkt_hash_types type)
> {
>     skb->l4_rxhash = (type == PKT_HASH_TYPE_L4);
>     skb->rxhash = hash;
> }
>
> Compile line: 'make install T=x86_64-native-linuxapp-gcc'
> ...
>   CC [M]  /home/keithw/projects/dpdk/
> dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o
> <
> http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o
> >
> In file included from /home/keithw/projects/dpdk/
> dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0<
> http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41:0
> >,
>                  from /home/keithw/projects/dpdk/
> dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31<
> http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31>,
>                  from /home/keithw/projects/dpdk/
> dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31<
> http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31>,
>                  from /home/keithw/projects/dpdk/
> dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38
> :<
> http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38
> :>
> /home/keithw/projects/dpdk/
> dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3853:1:<
> http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3853:1:>
> error: conflicting types for ‘skb_set_hash’
>  skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
>  ^
> In file included from
> /usr/src/linux-headers-3.13.0-30-generic/include/linux/if_ether.h:23:0,
>                  from /home/keithw/projects/dpdk/
> dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:39<
> http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:39>,
>                  from /home/keithw/projects/dpdk/
> dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31<
> http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31>,
>                  from /home/keithw/projects/dpdk/
> dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31<
> http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31>,
>                  from /home/keithw/projects/dpdk/
> dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38
> :<
> http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38
> :>
> /usr/src/linux-headers-3.13.0-30-generic/include/linux/skbuff.h:740:1:
> note: previous definition of ‘skb_set_hash’ was here
>  skb_set_hash(struct sk_buff *skb, __u32 hash, enum pkt_hash_types type)
>  ^
> make[10]: *** [/home/keithw/projects/dpdk/
> dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o
> ]<
> http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o]>
> Error 1
> make[9]: *** [_module_/home/keithw/projects/dpdk/
> dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni]<
> http://dpdk.org/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni]>
> Error 2
> make[8]: *** [sub-make] Error 2
> make[7]: *** [rte_kni.ko] Error 2
> make[6]: *** [kni] Error 2
> make[5]: *** [linuxapp] Error 2
> make[4]: *** [librte_eal] Error 2
> make[3]: *** [lib] Error 2
> make[2]: *** [all] Error 2
> make[1]: *** [x86_64-native-linuxapp-gcc_install] Error 2
> make: *** [install] Error 2
>
> Please verify this is correct.
>
> Thanks
> ++Keith
>
> Keith Wiles, Principal Technologist with CTO office, Wind River
> mobile 972-213-5533
>
> [Powering 30 Years of Innovation]<http://www.windriver.com/announces/wr30/
> >
>
>


More information about the dev mailing list