From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <qiaobing.xie@gmail.com>
Received: from mail-ig0-f176.google.com (mail-ig0-f176.google.com
 [209.85.213.176]) by dpdk.org (Postfix) with ESMTP id C40F4595B
 for <dev@dpdk.org>; Fri, 15 Aug 2014 02:28:24 +0200 (CEST)
Received: by mail-ig0-f176.google.com with SMTP id hn18so551657igb.15
 for <dev@dpdk.org>; Thu, 14 Aug 2014 17:31:30 -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:cc:subject
 :references:in-reply-to:content-type:content-transfer-encoding;
 bh=QH0GD+k+sr/WF1cZPlD8gxjg5Co28cuXpq8l7L9F36s=;
 b=ys8p9X+0c50UQA497x1rR6MOFKFSKZdz6ktZsc4IYjTpH7A4JT9glyuNbtSXMac37r
 MVV10O7jKCOxmCLbxmhoD2ozBhhR9kEkWVlJkYn1rsrDp3YtzKOZy0QbpxG9UbOqQqQ/
 +YQWPwjkI3hYk1T5+nTlftrN7E+bAkBsp5jArOZsIGDW+u7vAq7s7Rf1IN/osSIi+i3Y
 v1pHVWX6UDYEHWrsDME9JhxWnbR2u+QAn6zPIk8msl0cWw+6hFDFGqECATUSj1SPWwIA
 Yci5O1WpJxGDu96me/TXcl/smpOMHjL+RATd0LS8qZP6SMNz7/9dS1w6g/+RJs0Ee5mS
 w9nA==
X-Received: by 10.43.53.198 with SMTP id vr6mr94999icb.74.1408062690796;
 Thu, 14 Aug 2014 17:31:30 -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 g8sm1450587igt.11.2014.08.14.17.31.30
 for <multiple recipients>
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Thu, 14 Aug 2014 17:31:30 -0700 (PDT)
From: Qiaobing Xie <qiaobing.xie@gmail.com>
X-Google-Original-From: Qiaobing Xie <Qiaobing.Xie@gmail.com>
Message-ID: <53ED54E1.4050206@gmail.com>
Date: Thu, 14 Aug 2014 19:31:29 -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: Neil Horman <nhorman@tuxdriver.com>, Aws Ismail <aws.ismail@windriver.com>
References: <53ED2DBF.4070003@gmail.com> <53ED34FC.3050405@windriver.com>
 <20140815001651.GA11038@localhost.localdomain>
In-Reply-To: <20140815001651.GA11038@localhost.localdomain>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Aug 2014 00:28:25 -0000

Nail,

Thanks for the info... I got v1.7.0 tarball compile after configuring 
out both IXGBE_INC_VECTOR and ACL. I will take a look at the head.

-Q

On 8/14/14 7:16 PM, Neil Horman wrote:
> On Thu, Aug 14, 2014 at 06:15:24PM -0400, Aws Ismail wrote:
>> On 08/14/2014 05: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=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"
>>  From the error, nmmintrin.h contains built-in CPU calls that depend on the
>> CPU having SSE4.2 extensions. You need to hunt down the call that is being
>> executed and see which file is including nmmintrin.h. For example, I have
>> encountered similar error on a CPU that does not have SSE4.1 and 4.2
>> extension and it was trying to call the built-in HW crc hashing call.
>> instead I switched with rte_jhash.h, the alternative SW implementation of
>> the hashing call.
>>
>> Looking below, nmmintrin.h is being included by the
>> lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c, from the looks of it. This means that
>> your defconfig (did you use the default one?) has
>> CONFIG_RTE_IXGBE_INC_VECTOR value set to "y". try setting it to "n" and see
>> where the build would stop next looking for another SSE4.x based builtin
>> call.
>>
> This is fixed at the head of the dpdk git tree.  The vector rx code has been
> converted to use builtin intrinsics that can work without sse support in the
> cpu.  The ACL library has a simmilar problem, but we are working at enabling it
> for all cpus, with runtime updates to faster paths when the executing cpu
> supports it.
>
>> My ultimate recommendation is to update you CPU to a newer one or perform
>> the build/run on a separate newer CPU.
>>
> Building on a newer cpu won't help if you intend to run it on an older cpu.
>
> Neil
>