[dpdk-dev] Building 1.7.1 or 1.8.0-rc4 on latest CentOS 6.6 fails
Commit Message
On Tue, Dec 16, 2014 at 11:12 PM, Barak Enat <barak@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:
---
---
Regards,
Jincheng Miao
>
> Didn't see a fix of it in trunk or in the patches.
>
>
>
> Thanks,
>
> Barak
Comments
2014-12-17 14:21, Jincheng Miao:
> On Tue, Dec 16, 2014 at 11:12 PM, Barak Enat <barak@saguna.net> wrote:
> > 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:
>
[...]
> #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))))
A patch would be appreciate :)
Thanks
2014-12-17 11:09, Thomas Monjalon:
> 2014-12-17 14:21, Jincheng Miao:
> > On Tue, Dec 16, 2014 at 11:12 PM, Barak Enat <barak@saguna.net> wrote:
> > > 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:
> >
> [...]
> > #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))))
>
> A patch would be appreciate :)
Should be fixed now:
http://dpdk.org/browse/dpdk/commit/?id=a8aac461cbdb
@@ -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))))