From 8bc6573fb3a0108bd636c2187713b07f57a3c0d9 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Mon, 21 Mar 2016 13:33:58 +0200 Subject: [PATCH] mk: fix missing libm dependencies Commit e86a699cf6b1 missed two further libm dependencies: ceil() used by librte_meter is typically inlined so the missing dependency does not actually cause failures, and librte_pmd_nfp is not built by default so its easy to miss. This causes duplicates in LDLIBS in many configurations so its vital they are removed before passing to linker. Fixes: e86a699cf6b1 ("mk: fix shared library dependencies on libm and librt") Reported-by: Ferruh Yigit Signed-off-by: Panu Matilainen Tested-by: Ferruh Yigit --- drivers/net/nfp/Makefile | 2 ++ lib/librte_meter/Makefile | 2 ++ mk/rte.app.mk | 2 ++ 3 files changed, 6 insertions(+) diff --git a/drivers/net/nfp/Makefile b/drivers/net/nfp/Makefile index ef7a13d69f..1dddd1fd9e 100644 --- a/drivers/net/nfp/Makefile +++ b/drivers/net/nfp/Makefile @@ -39,6 +39,8 @@ LIB = librte_pmd_nfp.a CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +LDLIBS += -lm + EXPORT_MAP := rte_pmd_nfp_version.map LIBABIVER := 1 diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile index 8765881de1..f07fced71b 100644 --- a/lib/librte_meter/Makefile +++ b/lib/librte_meter/Makefile @@ -39,6 +39,8 @@ LIB = librte_meter.a CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +LDLIBS += -lm + EXPORT_MAP := rte_meter_version.map LIBABIVER := 1 diff --git a/mk/rte.app.mk b/mk/rte.app.mk index b2ed9e2fd0..b6c7bb0b70 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -85,6 +85,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lrte_vhost ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n) _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lm _LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED) += -lrt +_LDLIBS-$(CONFIG_RTE_LIBRTE_METER) += -lm ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST) += -lnuma endif @@ -101,6 +102,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -libverbs _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += -lsze2 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lxenstore _LDLIBS-$(CONFIG_RTE_LIBRTE_MPIPE_PMD) += -lgxio +_LDLIBS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += -lm # QAT / AESNI GCM PMDs are dependent on libcrypto (from openssl) # for calculating HMAC precomputes ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT),y) -- 2.20.1