For static builds, even though the drivers are installed in the lib folder that does not mean that that folder should be set as the EAL driver search path. If it is, EAL will try loading all shared libraries as drivers and fail to start. Instead, track the EAL driver path separately from the driver install path, allowing static builds to have an empty driver path by default.
Fixes: d8b85d98b3f7 ("build: add initial infrastructure for meson & ninja builds") Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> ---- NOTE: on apply will be merged into offending commit in next-build tree. --- config/meson.build | 3 +-- meson.build | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/config/meson.build b/config/meson.build index ce26a29f0..8e4a703c7 100644 --- a/config/meson.build +++ b/config/meson.build @@ -71,8 +71,7 @@ endif dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags)) # set the install path for the drivers -dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', join_paths( - get_option('prefix'), driver_install_path)) +dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', eal_pmd_path) # set other values pulled from the build options dpdk_conf.set('RTE_MAX_LCORE', get_option('max_lcores')) diff --git a/meson.build b/meson.build index e3d40ac38..4af057615 100644 --- a/meson.build +++ b/meson.build @@ -47,8 +47,10 @@ dpdk_extra_ldflags = [] # for shared libs, put them in a driver folder if get_option('default_library') == 'static' driver_install_path = get_option('libdir') + eal_pmd_path = '' else driver_install_path = join_paths(get_option('libdir'), 'dpdk/drivers') + eal_pmd_path = join_paths(get_option('prefix'), driver_install_path) endif # configure the build, and make sure configs here and in config folder are -- 2.13.6