From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1.windriver.com (mail1.windriver.com [147.11.146.13]) by dpdk.org (Postfix) with ESMTP id 593C6B361 for ; Thu, 14 Aug 2014 23:52:49 +0200 (CEST) Received: from ALA-HCB.corp.ad.wrs.com (ala-hcb.corp.ad.wrs.com [147.11.189.41]) by mail1.windriver.com (8.14.9/8.14.5) with ESMTP id s7ELts5o018246 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 14 Aug 2014 14:55:54 -0700 (PDT) Received: from ALA-MBB.corp.ad.wrs.com ([169.254.1.39]) by ALA-HCB.corp.ad.wrs.com ([147.11.189.41]) with mapi id 14.03.0174.001; Thu, 14 Aug 2014 14:55:54 -0700 From: "Wiles, Roger Keith" To: Qiaobing Xie Thread-Topic: [dpdk-dev] 1.7.0 release failed to compile on linux Thread-Index: AQHPuAj3LpEht+QWmEiF1l1gd4aywZvRGk+A Date: Thu, 14 Aug 2014 21:55:53 +0000 Message-ID: <4B613BEE-2D07-417D-ACA3-6C228FADB14E@windriver.com> References: <53ED2DBF.4070003@gmail.com> In-Reply-To: <53ED2DBF.4070003@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.40.162] MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] 1.7.0 release failed to compile on linux X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Aug 2014 21:52:49 -0000 For the SKB function change I had to change the ifdef in the kcompat.h file= around line 3848 (I think) to: /* #### Changed the next line to use (3,13,8) instead of (3,14,0) KeithW */ #if ( LINUX_VERSION_CODE < KERNEL_VERSION(3,13,8) ) #if (!(RHEL_RELEASE_CODE && RHEL_RELEASE_CODE >=3D 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 =3D hash; } #endif /* NETIF_F_RXHASH */ #endif /* < RHEL7 */ #endif /* < 3.14.0 */ Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-= 213-5533 On Aug 14, 2014, at 4:44 PM, Qiaobing Xie > wrote: Hi, I got the following error when I tried to compile 1.7.0 release tarball on = a Linux box (Ubuntu 12.04/kernel=3D3.13.0-32-generic, gcc=3D4.6.3): =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D In file included from /home/qxie/dpdk-1.7.0/lib/librte_eal/linuxapp/kni/eth= tool/igb/e1000_osdep.h:41:0, from /home/qxie/dpdk-1.7.0/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw= .h:31, from /home/qxie/dpdk-1.7.0/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_ap= i.h:31, from /home/qxie/dpdk-1.7.0/build/build/lib/librte_eal/linuxapp/kni/e1000_82= 575.c:38: /home/qxie/dpdk-1.7.0/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:385= 3:1: error: conflicting types for =91skb_set_hash=92 /usr/src/linux-headers-3.13.0-32-generic/include/linux/skbuff.h:740:1: note= : previous definition of =91skb_set_hash=92 was here make[8]: *** [/home/qxie/dpdk-1.7.0/build/build/lib/librte_eal/linuxapp/kni= /e1000_82575.o] Error 1 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Apparently the version check around 'skb_set_hash' in kcompat.h failed for = some reason. To work around it, I temporarily commented out that 'skb_set_h= ash' definition code and rte_kni complied fine. But it failed again in libr= te_pmd_ixgbe: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D In file included from /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx= _vec.c:41:0: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/nmmintrin.h:31:3: error: #error "= SSE4.2 instruction set not enabled" /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c: In function = =91ixgbe_recv_pkts_vec=92: /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:297:3: error: i= mplicit declaration of function =91_mm_shuffle_epi8=92 [-Werror=3Dimplicit-= function-declaration] /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:297:3: error: n= ested extern declaration of =91_mm_shuffle_epi8=92 [-Werror=3Dnested-extern= s] /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:297:11: error: = incompatible types when assigning to type =91__m128i=92 from type =91int=92 /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:298:11: error: = incompatible types when assigning to type =91__m128i=92 from type =91int=92 /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:313:11: error: = incompatible types when assigning to type =91__m128i=92 from type =91int=92 /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:314:11: error: = incompatible types when assigning to type =91__m128i=92 from type =91int=92 /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:341:3: error: i= mplicit declaration of function =91_mm_popcnt_u64=92 [-Werror=3Dimplicit-fu= nction-declaration] /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:341:3: error: n= ested extern declaration of =91_mm_popcnt_u64=92 [-Werror=3Dnested-externs] cc1: all warnings being treated as errors make[3]: *** [ixgbe_rxtx_vec.o] Error 1 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D My CPU is the older Intel C2D E6550 which does not have sse4.2/sse4.1 suppo= rt. Is there a way to work around this? -Q