On Thu, 2018-08-30 at 18:07 +0100, Bruce Richardson wrote: > For meson builds, the define to enable the symbol version > macros in rte_compat.h was missing. This led to symbols being > omitted from shared objects. For example, checking rte_distributor.so > with objdump and comparing make and meson built versions: > > $ objdump -T make-build/lib/librte_distributor.so | grep _flush > 0000000000001b60 g DF .text 00000000000000a7 > (DPDK_2.0) rte_distributor_flush > 0000000000003f10 g DF .text 0000000000000434 DPDK_17.05 > rte_distributor_flush > $ objdump -T meson-build/lib/librte_distributor.so | grep _flush > 0000000000001d50 g DF .text 00000000000000fb DPDK_2.0 > rte_distributor_flush > > Adding in the missing define fixes this. > > Fixes: 5b9656b157d3 ("lib: build with meson") > > Reported-by: Luca Boccassi <bl...@debian.org> > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > --- > config/rte_config.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/config/rte_config.h b/config/rte_config.h > index a8e479774..46775a841 100644 > --- a/config/rte_config.h > +++ b/config/rte_config.h > @@ -20,6 +20,9 @@ > > /****** library defines ********/ > > +/* compat defines */ > +#define RTE_BUILD_SHARED_LIB > + > /* EAL defines */ > #define RTE_MAX_MEMSEG_LISTS 128 > #define RTE_MAX_MEMSEG_PER_LIST 8192
Tested-by: Luca Boccassi <bl...@debian.org> -- Kind regards, Luca Boccassi