[dpdk-dev] Building 1.7.1 or 1.8.0-rc4 on latest CentOS 6.6 fails

Jincheng Miao jincheng.miao at gmail.com
Wed Dec 17 07:21:59 CET 2014


On Tue, Dec 16, 2014 at 11:12 PM, Barak Enat <barak at saguna.net> wrote:
> Hi
>
>
>
> When building 1.7.1 or 1.8.0-rc4 on recent CentOS 6 (6.6) I got this error:
>
>
>
> In file included from
> /home/makerpm/rpmbuild/BUILD/dpdk-1.8.0/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h:41,
>
>                  from
> /home/makerpm/rpmbuild/BUILD/dpdk-1.8.0/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h:31,
>
>                  from
> /home/makerpm/rpmbuild/BUILD/dpdk-1.8.0/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h:31,
>
>                  from
> /home/makerpm/rpmbuild/BUILD/dpdk-1.8.0/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38:
>
> /home/makerpm/rpmbuild/BUILD/dpdk-1.8.0/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3870:
> error: conflicting types for 'skb_set_hash'
>
> include/linux/skbuff.h:620: note: previous definition of 'skb_set_hash' was
> here
>
> make[8]: ***
> [/home/makerpm/rpmbuild/BUILD/dpdk-1.8.0/x86_64-native-linuxapp-gcc/build/lib/librte_eal/linuxapp/kni/e1000_82575.o]
> Error 1
>
>
>
> It seems the assumption that skb_set_hash is missing in CentOS prior to
> version 7 is not valid anymore.

Yes, you are right, this function skb_set_hash is added from Cent 6.6,
so some macro should be changed like this:

---
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/
index 3dbc07a..1213cc6 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3860,7 +3860,7 @@ static inline struct sk_buff *__kc__vlan_hwaccel_put_tag(s
 #endif /* >= 3.10.0 */

 #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) )
-#if (!(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7,0)))
+#if (!(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6,6)))
 #if (!(UBUNTU_KERNEL_CODE >= UBUNTU_KERNEL_VERSION(3,13,0,30,54) \
     && (UBUNTU_RELEASE_CODE == UBUNTU_RELEASE_VERSION(12,4) \
      || UBUNTU_RELEASE_CODE == UBUNTU_RELEASE_VERSION(14,4))))

---

Regards,
Jincheng Miao

>
> Didn't see a fix of it in trunk or in the patches.
>
>
>
> Thanks,
>
> Barak


More information about the dev mailing list