[dpdk-dev] rte_memcpy.h: additional cflags required with OVS

Panu Matilainen pmatilai at redhat.com
Tue Mar 10 08:52:07 CET 2015


On 03/10/2015 05:04 AM, Qiu, Michael wrote:
> On 3/10/2015 12:44 AM, Kavanagh, Mark B wrote:
>> Hi,
>>
>> Compilation of Open vSwitch fails when linked against current HEAD of DPDK (f2552cd5).
>>
>> The source of this issue appears to be commit ID 9144d6b: "eal/x86: optimize memcpy for SSE and AVX", and can be resolved by passing an additional argument to OVS when building same (CFLAGS="-march=native").
>> It seems that without this flag, OVS doesn't pick up one or more SSE #defines in DPDK, and doesn't include a relevant intrinsic header (emmintrin.h), leading to an 'implicit declaration' error for instrinsic '_mm_storeu_si128'.
>
> What's your gcc version? this should be an issue with old version gcc,
> and I'm working on this to solve this issue now. If you want to solve
> this you should upgrade gcc or include them manually, and remove  header
> x86intrin.h .

At least gcc 4.8.2 (which is what RHEL-7 has) exhibits this, however gcc 
4.9 and 5 "just work". The workaround I used was adding -msse4.1 to the 
OVS CFLAGS manually.

	- Panu -



More information about the dev mailing list