When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is not enabled for rte_port_source_sink.c
Subsystems (2)
https://bugs.dpdk.org/show_bug.cgi?id=351
Bug ID: 351
Summary: When RTE_LIBRTE_PCAP_PMD is enabled RTE_PORT_PCAP is
not enabled for rte_port_source_sink.c
Product: DPDK
Version: 19.05
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: meson
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 68
--> https://bugs.dpdk.org/attachment.cgi?id=68&action=edit
Patch for missing -lpcap link and RTE_PORT_PCAP option
On the old build system when enabling RTE_LIBRTE_PCAP_PMD an option is enabled for rte_port_source_sink (RTE_PORT_PCAP) and pcap is linked to librte_port.
On Meson build this doesn't happen. Please see attached patch for a possible fix.
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.
PATCH 1/1 port: fix missing pcap support with meson
The meson build was missing the define to enable pcap port support if libpcap (development) package was found on the build platform. Rather than duplicating the checks for libpcap found in the pcap net PMD build file, we can move the checks to the top-level config directory and reference the RTE_PCAP_PORT setting elsewhere in the build.
Bugzilla ID: 351
--- config/meson.build | 13 +++++++++++++ drivers/net/pcap/meson.build | 18 +++--------------- lib/librte_port/meson.build | 4 ++++ 3 files changed, 20 insertions(+), 15 deletions(-)
config/meson.build +13 -0
@@ -138,6 +138,19 @@ if libbsd.found() dpdk_conf.set('RTE_USE_LIBBSD', 1) endif +# check for pcap +pcap_dep = dependency('pcap', required: false) +if pcap_dep.found() + # pcap got a pkg-config file only in 1.9.0 and before that meson uses + # an internal pcap-config finder, which is not compatible with + # cross-compilation, so try to fallback to find_library + pcap_dep = cc.find_library('pcap', required: false) +endif +if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep) + dpdk_conf.set('RTE_PORT_PCAP', 1) + dpdk_extra_ldflags += '-lpcap' +endif + # add -include rte_config to cflags add_project_arguments('-include', 'rte_config.h', language: 'c')
drivers/net/pcap/meson.build +3 -15
@@ -1,21 +1,9 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -pcap_dep = dependency('pcap', required: false) -if pcap_dep.found() - build = true -else - # pcap got a pkg-config file only in 1.9.0 and before that meson uses - # an internal pcap-config finder, which is not compatible with - # cross-compilation, so try to fallback to find_library - pcap_dep = cc.find_library('pcap', required: false) - if pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep) - build = true - pkgconfig_extra_libs += '-lpcap' - else - build = false - reason = 'missing dependency, "libpcap"' - endif +if not dpdk_conf.has('RTE_PORT_PCAP') + build = false + reason = 'missing dependency, "libpcap"' endif sources = files('rte_eth_pcap.c') ext_deps += pcap_dep
lib/librte_port/meson.build +4 -0
@@ -23,6 +23,10 @@ headers = files( 'rte_port_sym_crypto.h') deps += ['ethdev', 'sched', 'ip_frag', 'cryptodev'] +if dpdk_conf.has('RTE_PORT_PCAP') + ext_deps += pcap_dep # dependency provided in config/meson.build +endif + if dpdk_conf.has('RTE_LIBRTE_KNI') sources += files('rte_port_kni.c') headers += files('rte_port_kni.h')
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH] port: fix missing pcap support with meson
Quoted 6 lines · Bruce Richardson
The meson build was missing the define to enable pcap port support if libpcap (development) package was found on the build platform. Rather than duplicating the checks for libpcap found in the pcap net PMD build file, we can move the checks to the top-level config directory and reference the
RTE_PCAP_PORTsetting elsewhere in the build.
Quoted 6 lines
Bugzilla ID: 351
Fixes 5b9656b157d3 ("lib: build with meson")Reported-by Cristian Bidea <[email protected]>Signed-off-by Bruce Richardson <[email protected]>
Based on response given in bugzilla
[https://bugs.dpdk.org/show_bug.cgi?id=351]
Just adding here so it shows up in patchwork.
/Bruce
Thomas Monjalon
AppliedRe: [dpdk-dev] [dpdk-stable] [PATCH] port: fix missing pcap support with meson
24/09/2019 17:19, Bruce Richardson:
Quoted 14 lines · Bruce Richardson
Quoted 6 lines
The meson build was missing the define to enable pcap port support if libpcap (development) package was found on the build platform. Rather than duplicating the checks for libpcap found in the pcap net PMD build file, we can move the checks to the top-level config directory and reference the
RTE_PCAP_PORTsetting elsewhere in the build.Quoted 6 lines
Bugzilla ID: 351
Fixes 5b9656b157d3 ("lib: build with meson")Reported-by Cristian Bidea <[email protected]>Signed-off-by Bruce Richardson <[email protected]>
Quoted 6 lines
Based on response given in bugzilla
[https://bugs.dpdk.org/show_bug.cgi?id=351]Tested-by Cristian Bidea <[email protected]>Just adding here so it shows up in patchwork.
Applied, thanks
https://bugs.dpdk.org/show_bug.cgi?id=351
Cristian Bidea ([email protected]) changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|IN_PROGRESS |RESOLVED--- Comment #2 from Cristian Bidea ([email protected]) --- It works fine. Thanks!
Signature · 2 lines
You are receiving this mail because: You are the assignee for the bug.