[dpdk-dev] [PATCH v1] app/test-pmd: fix meson build failed when enabled pmd_bonded

Bruce Richardson bruce.richardson at intel.com
Thu Sep 10 11:16:57 CEST 2020


On Thu, Sep 10, 2020 at 01:55:25AM +0000, SteveX Yang wrote:
> meson build cannot find the header rte_eth_bond.h when build DPDK first
> time or never installed DPDK lib after build via meson/ninja.
> 
> Because the corresponding header directory isn't included after enabled
> RTE_LIBRTE_PMD_BOND macro.
> 
> Add the header file location and link library to meson.build of test-pmd
> 
> Signed-off-by: SteveX Yang <stevex.yang at intel.com>
> ---

While there is a problem here, I think the solution may itself be
incomplete. Since the bonding PMD is always enabled by default, it's
support should always be enabled in testpmd. Therefore, testpmd should be
using the RTE_LIBRTE_BOND_PMD macro internally, not RTE_LIBRTE_PMD_BOND
one.  Once that macro is changed, the issue you report becomes generally
visible.

>  app/test-pmd/meson.build | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build
> index ea56e547b..db0ff02eb 100644
> --- a/app/test-pmd/meson.build
> +++ b/app/test-pmd/meson.build
> @@ -4,6 +4,11 @@
>  # override default name to drop the hyphen
>  name = 'testpmd'
>  cflags += '-Wno-deprecated-declarations'
> +
> +if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
> +	cflags += '-I' + meson.source_root() + '/drivers/net/bonding'
> +endif
> +

Don't need this block. Adding the dependency automatically pulls in header
paths.

>  sources = files('5tswap.c',
>  	'cmdline.c',
>  	'cmdline_flow.c',
> @@ -25,6 +30,11 @@ sources = files('5tswap.c',
>  	'util.c')
>  
>  deps += ['ethdev', 'gro', 'gso', 'cmdline', 'metrics', 'meter', 'bus_pci']
> +
> +if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
> +	deps += 'pmd_bond'
> +endif
> +

The code is right, but just note that the other blocks like this aren't
separated by whitespace. Since they are quite readable as they are, I'd
avoid adding in the unnecessary whitespace and just keep it consistent.

>  if dpdk_conf.has('RTE_LIBRTE_PDUMP')
>  	deps += 'pdump'
>  endif
> -- 
> 2.17.1
> 


More information about the dev mailing list