On Tue, Jul 24, 2018 at 11:21:52AM +0000, Shahaf Shuler wrote: > 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
This will force users to re-compile their application to have the missing features disabled because some calls are not available, see the list of HAVE_RDMA_NLDEV_* elements in the MLX5 makefile due to the issues this Netlink stuff brings. > 2. dlopen libmnl just like we do for verbs/mlx5 You want another glue library. It won't be for this release in this case, I don't have time to write such glue. > > else > > _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += -lrte_pmd_mlx5 - > > libverbs -lmlx5 -lmnl > > endif > > -- > > 2.18.0 > [1] https://mails.dpdk.org/archives/dev/2018-March/092876.html -- Nélio Laranjeiro 6WIND