[dpdk-dev] Build failure on Ubuntu 14.04
Wiles, Roger Keith
keith.wiles at windriver.com
Sat Jul 5 17:50:00 CEST 2014
Made sure I was up to date with Ubuntu patches, but still had the same problem.
I modified the kcompat.h file to allow the compile to continue, not sure this is a fix per say.
dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h<http://dpdk.org/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h> around line 3853
##### Changed the next line from (3,14,0) to (3,13,0)
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,13,0) )
#if (!(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,0)))
#ifdef NETIF_F_RXHASH
#define PKT_HASH_TYPE_L3 0
static inline void
skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
{
skb->rxhash = hash;
}
#endif /* NETIF_F_RXHASH */
#endif /* < RHEL7 */
#endif /* < 3.14.0 */
Keith Wiles, Principal Technologist with CTO office, Wind River
mobile 972-213-5533
[Powering 30 Years of Innovation]<http://www.windriver.com/announces/wr30/>
On Jul 5, 2014, at 10:28 AM, Wiles, Roger Keith <keith.wiles at windriver.com<mailto:keith.wiles at windriver.com>> wrote:
Forgot the uname -a:
Linux keithw-W2600CR 3.13.0-30-generic #54-Ubuntu SMP Mon Jun 9 22:45:01 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Keith Wiles, Principal Technologist with CTO office, Wind River
mobile 972-213-5533
[Powering 30 Years of Innovation]<http://www.windriver.com/announces/wr30/>
On Jul 5, 2014, at 10:27 AM, Wiles, Roger Keith <keith.wiles at windriver.com<mailto:keith.wiles at windriver.com><mailto:keith.wiles at windriver.com>> wrote:
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><http://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><http://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><http://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><http://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:><http://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:><http://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><http://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><http://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><http://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:><http://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]><http://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]><http://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