1
votes

Default installation of dpdk using Meson,Ninja will provide libdpdk.pc.Please provide suggestion in linking dpdk library in Cmakefile dpdk version 20.11.2.

cmake

    Checking for libdpdk
    Found libdpdk,version 20.11.2

make Error Message:

In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:37:0,
from /usr/local/include/rte_vect.h:31,
from /usr/local/include/rte_memcpy.h:17,
from /home/sample.c:88, 

/usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘_mm_alignr_epi8’: target specific option mismatch

libdpdk.pc

prefix=/usr/local
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include
Name:DPDK
Requires:libdpdk-libs
Cflags:-I{includedir}

CMakeLists.txt

    find_package(PkgConfig REQUIRED)
    pkg_check_modules(DPDK REQUIRED libdpdk)
    include_directories(${DPDK_INCLUDE_DIR})
    include_directories(${CMAKE_SOURCE_DIR}/include)
    link_directories(${DPDK_LIBRARY_DIR})
set(DPDK_LIBS "-Wl,--whole-archive -l dpdk -Wl,--no-whole-archive")

    add_executable(sample sample.c)
   # target_include_directories(sample PUBLIC /usr/local/include)
    #target_include_directories(sample PUBLIC /usr/local/lib/x86_64-linux-gnu)
    target_link_libraries(sample PUBLIC ${DPDK_LIBS})
1

1 Answers

1
votes

You should probably use

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mssse3")

in CMakeLists.txt.