Tuesday, July 24, 2018 12:29 PM, Nelio Laranjeiro: > Subject: [PATCH] mk: fix application compilation with lmnl and mlx5 > > When Mellanox MLX5 PMD is compiled with > CONFIG_RTE_LIBRTE_MLX5_DLOPEN_DEPS=y, the external dependency on > libmln is missing. > > Fixes: 4d5cce06231a ("net/mlx5: lay groundwork for switch offloads") > Cc: adrien.mazarg...@6wind.com > > Signed-off-by: Nelio Laranjeiro <nelio.laranje...@6wind.com> > --- > mk/rte.app.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mk/rte.app.mk b/mk/rte.app.mk index f4d28c2da..ff39d37aa > 100644 > --- a/mk/rte.app.mk > +++ b/mk/rte.app.mk > @@ -149,7 +149,7 @@ else > _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += -lrte_pmd_mlx4 - > libverbs -lmlx4 > endif > ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DLOPEN_DEPS),y) > -_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -lrte_pmd_mlx5 -ldl > +_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -lrte_pmd_mlx5 -ldl - > lmnl
This issue raise some more basic question. The DLOPEN mode was introduced to run in systems which don't have verbs/mlx5 libs installed, because those were the only dependencies for the PMD back then. Now we have the libmnl, which is external dependency just like rdma-core, and following your fix, hard linked also in case of DLOPEN option. It means the whole DPDK binary/lib will be depended on libmnl and this is not what we want with DLOPEN. Can we consider different options: 1. always statically link libmnl 2. dlopen libmnl just like we do for verbs/mlx5 > else > _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -lrte_pmd_mlx5 - > libverbs -lmlx5 -lmnl > endif > -- > 2.18.0