Since mempool driver is now registered during constructor, the
mempool driver must always be linked in during shared library
build. Otherwise, application will fail because of missing default
mbuf pool operations.

Fixes: c6b3570f9e14 ("mk: link app with ring mempool by default")
Cc: sta...@dpdk.org
Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
---
 mk/rte.app.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 3b3156bfcf09..3e4580a2594c 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -87,7 +87,9 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_RAWDEV)         += -lrte_rawdev
 _LDLIBS-$(CONFIG_RTE_LIBRTE_TIMER)          += -lrte_timer
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL)        += -lrte_mempool
 _LDLIBS-$(CONFIG_RTE_LIBRTE_STACK)          += -lrte_stack
+_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING)   += --no-as-needed
 _LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING)   += -lrte_mempool_ring
+_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING)   += --as-needed
 _LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += -lrte_mempool_octeontx2
 _LDLIBS-$(CONFIG_RTE_LIBRTE_RING)           += -lrte_ring
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PCI)            += -lrte_pci
-- 
2.20.1

Reply via email to