The glue shared library name was created by the common class FMT name,
driver_name_fmt = 'rte_common_@0@', which is not correlated with
LIB_GLUE_BASE = 'librte_pmd_mlx5_glue.so'.

This causes the dynamic linkage of the glue library to fail what
remained mlx5 drivers outside the PCI driver list.

The command:
MLX5_GLUE_PATH=$(pwd)/build-meson/drivers/common/mlx5
build-meson/app/dpdk-testpmd -n 4  -w 0000:00:05.0 -w 0000:00:06.0 -- -i

The log:
common_mlx5: Cannot load glue library:
/usr/local/lib64/dpdk/pmds-20.0.1-glue/librte_pmd_mlx5_glue.so.20.02.0:
cannot open shared object file: No such file or directory

Adjust the shared library name to the LIB_GLUE_BASE definition.

Fixes: 7b4f1e6bd367 ("common/mlx5: introduce common library")

Signed-off-by: Matan Azrad <ma...@mellanox.com>
---
 drivers/common/mlx5/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/common/mlx5/meson.build b/drivers/common/mlx5/meson.build
index 2b70410..9cbd527 100644
--- a/drivers/common/mlx5/meson.build
+++ b/drivers/common/mlx5/meson.build
@@ -185,7 +185,7 @@ endif
 # Build Glue Library
 if pmd_dlopen and build
        dlopen_name = 'mlx5_glue'
-       dlopen_lib_name = driver_name_fmt.format(dlopen_name)
+       dlopen_lib_name = 'rte_pmd_@0@'.format(dlopen_name)
        dlopen_so_version = LIB_GLUE_VERSION
        dlopen_sources = files('mlx5_glue.c')
        dlopen_install_dir = [ eal_pmd_path + '-glue' ]
-- 
1.8.3.1

Reply via email to