common/mlx5: fix glue dlopen with meson build
authorMatan Azrad <matan@mellanox.com>
Mon, 10 Feb 2020 12:27:34 +0000 (12:27 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 14 Feb 2020 11:42:12 +0000 (12:42 +0100)
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 <matan@mellanox.com>
drivers/common/mlx5/meson.build

index 2b70410..9cbd527 100644 (file)
@@ -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' ]