[dpdk-dev] [PATCH] build: fix EAL path to drivers for static builds

Bruce Richardson bruce.richardson at intel.com
Tue Oct 17 18:41:02 CEST 2017

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.richardson at 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 = ''
 	driver_install_path = join_paths(get_option('libdir'), 'dpdk/drivers')
+	eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
 # configure the build, and make sure configs here and in config folder are

More information about the dev mailing list