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

Reply via email to