]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: Add shared library as dpdk dependency 31841/head
authorluo rixin <luorixin@huawei.com>
Thu, 28 Nov 2019 12:18:09 +0000 (20:18 +0800)
committerluo rixin <luorixin@huawei.com>
Thu, 28 Nov 2019 12:18:09 +0000 (20:18 +0800)
librte_eal.a refers to libpthread.so and libdl.so, and libceph-common.so
refers to librte_eal.a. Many test application link libceph-common.so
without linking pthread, it will cause link error.
Such as unittest_interval_set, target_link_libraries (unittest_interval_set
ceph-common)

Signed-off-by: Chunsong Feng <fengchunsong@huawei.com>
cmake/modules/BuildDPDK.cmake

index 30f2aea0e4bcf505b002cdafe435530479158e32..e324d2f0a09b927cc840552a63c2ab643d6c190f 100644 (file)
@@ -176,7 +176,7 @@ function(do_export_dpdk dpdk_dir)
   set_target_properties(dpdk::dpdk PROPERTIES
     INTERFACE_INCLUDE_DIRECTORIES ${DPDK_INCLUDE_DIR}
     INTERFACE_LINK_LIBRARIES
-    "-Wl,--whole-archive $<JOIN:${DPDK_ARCHIVES}, > -Wl,--no-whole-archive ${dpdk_numa}")
+    "-Wl,--whole-archive $<JOIN:${DPDK_ARCHIVES}, > -Wl,--no-whole-archive ${dpdk_numa} -Wl,-lpthread,-ldl")
   if(dpdk_rte_CFLAGS)
     set_target_properties(dpdk::dpdk PROPERTIES
       INTERFACE_COMPILE_OPTIONS "${dpdk_rte_CFLAGS}")