From: Qiaobing Xie <qiaobing.xie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>,
Aws Ismail <aws.ismail-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: 1.7.0 release failed to compile on linux
Date: Thu, 14 Aug 2014 19:31:29 -0500 [thread overview]
Message-ID: <53ED54E1.4050206@gmail.com> (raw)
In-Reply-To: <20140815001651.GA11038-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
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
>
prev parent reply other threads:[~2014-08-15 0:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-14 21:44 1.7.0 release failed to compile on linux Qiaobing Xie
[not found] ` <53ED2DBF.4070003-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-08-14 21:55 ` Wiles, Roger Keith
[not found] ` <4B613BEE-2D07-417D-ACA3-6C228FADB14E-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org>
2014-08-14 22:24 ` Aws Ismail
[not found] ` <53ED3710.3090008-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org>
2014-08-14 22:57 ` Qiaobing Xie
2014-08-14 23:27 ` Qiaobing Xie
2014-08-15 22:41 ` Thomas Monjalon
2014-08-17 0:10 ` [please ignore this test email] Wiles, Roger Keith
2014-08-14 22:15 ` 1.7.0 release failed to compile on linux Aws Ismail
[not found] ` <53ED34FC.3050405-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org>
2014-08-15 0:16 ` Neil Horman
[not found] ` <20140815001651.GA11038-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2014-08-15 0:31 ` Qiaobing Xie [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53ED54E1.4050206@gmail.com \
--to=qiaobing.xie-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=aws.ismail-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org \
--cc=dev-VfR2kkLFssw@public.gmane.org \
--cc=nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.