From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ig0-f182.google.com (mail-ig0-f182.google.com [209.85.213.182]) by dpdk.org (Postfix) with ESMTP id B8106AF85 for ; Thu, 14 Aug 2014 23:41:27 +0200 (CEST) Received: by mail-ig0-f182.google.com with SMTP id c1so220996igq.9 for ; Thu, 14 Aug 2014 14:44:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:message-id:date:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=Bop6cr9N+EcBRubRH9fmA3Y+gSqEBjlZUeTNJqHxUao=; b=n9EwJ20TWr512uRG5Mg0GGC6b4qtUwvmaiSNal2U8XOoENLJBOlX7FDIyNpqF8yEWq B+3IMFP1QPZSGaehXfS2xeEpIkytLHRYeZ7bSzdfvxMI/PxAmWEobLcCEvr9QLptuO7w t6KeyZkZz82hFPi2A5rRthMKdbdBH7bDx0mm7NkKNZyHoYJAS59EZ3yx1wjlHLLKOCKo 2kp4jz4ZC51iMdupngGC/QLVBmMPf+txhVu6uOVn6TeWuhgw5FZUdG32s3mFCctmpCt0 /q/axoSVkmv6UmPRTNwNhxpynM3G+knpiIcprwYp6celKG/pJHP7xBRLw0s7Wqn7NHk+ AVvg== X-Received: by 10.50.111.132 with SMTP id ii4mr61668350igb.8.1408052673244; Thu, 14 Aug 2014 14:44:33 -0700 (PDT) Received: from Qiaobings-MacBook-Air.local (24-217-88-112.dhcp.stls.mo.charter.com. [24.217.88.112]) by mx.google.com with ESMTPSA id y11sm102302igp.14.2014.08.14.14.44.32 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 14 Aug 2014 14:44:32 -0700 (PDT) From: Qiaobing Xie X-Google-Original-From: Qiaobing Xie Message-ID: <53ED2DBF.4070003@gmail.com> Date: Thu, 14 Aug 2014 16:44:31 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: dev@dpdk.org Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Subject: [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:41:28 -0000 Hi, I got the following error when I tried to compile 1.7.0 release tarball on a Linux box (Ubuntu 12.04/kernel=3.13.0-32-generic, gcc=4.6.3): ============ In file included from /home/qxie/dpdk-1.7.0/lib/librte_eal/linuxapp/kni/ethtool/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_api.h:31, from /home/qxie/dpdk-1.7.0/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.c:38: /home/qxie/dpdk-1.7.0/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3853:1: error: conflicting types for ‘skb_set_hash’ /usr/src/linux-headers-3.13.0-32-generic/include/linux/skbuff.h:740:1: note: previous definition of ‘skb_set_hash’ was here make[8]: *** [/home/qxie/dpdk-1.7.0/build/build/lib/librte_eal/linuxapp/kni/e1000_82575.o] Error 1 ============ 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_hash' definition code and rte_kni complied fine. But it failed again in librte_pmd_ixgbe: ============= 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 ‘ixgbe_recv_pkts_vec’: /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:297:3: error: implicit declaration of function ‘_mm_shuffle_epi8’ [-Werror=implicit-function-declaration] /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:297:3: error: nested extern declaration of ‘_mm_shuffle_epi8’ [-Werror=nested-externs] /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:297:11: error: incompatible types when assigning to type ‘__m128i’ from type ‘int’ /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:298:11: error: incompatible types when assigning to type ‘__m128i’ from type ‘int’ /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:313:11: error: incompatible types when assigning to type ‘__m128i’ from type ‘int’ /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:314:11: error: incompatible types when assigning to type ‘__m128i’ from type ‘int’ /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:341:3: error: implicit declaration of function ‘_mm_popcnt_u64’ [-Werror=implicit-function-declaration] /home/qxie/dpdk-1.7.0/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c:341:3: error: nested extern declaration of ‘_mm_popcnt_u64’ [-Werror=nested-externs] cc1: all warnings being treated as errors make[3]: *** [ixgbe_rxtx_vec.o] Error 1 ============== My CPU is the older Intel C2D E6550 which does not have sse4.2/sse4.1 support. Is there a way to work around this? -Q