* [dpdk-dev] [PATCH 00/10] Examples compilation fixes @ 2020-11-10 15:12 David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 01/10] examples/fips_validation: fix build with pkg-config David Marchand ` (12 more replies) 0 siblings, 13 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson I stepped right into Bruce trap [1] and tested all possible examples. The result is this series. 1: https://patchwork.dpdk.org/patch/82361/ -- David Marchand David Marchand (10): examples/fips_validation: fix build with pkg-config examples/ipsec-gw: fix build with pkg-config examples/kni: fix build with pkg-config examples/l2fwd-crypto: fix build with pkg-config examples/l3fwd-graph: fix static build examples/ntb: fix clean target examples/vhost_blk: fix build with pkg-config examples/rxtx_callbacks: fix build with pkg-config devtools: compile all examples with pkg-config examples: restore trace point devtools/test-meson-builds.sh | 28 ++++++++++++++++++- examples/cmdline/Makefile | 2 ++ examples/distributor/Makefile | 2 ++ examples/ethtool/ethtool-app/Makefile | 2 ++ examples/fips_validation/Makefile | 2 ++ examples/flow_filtering/Makefile | 2 ++ examples/helloworld/Makefile | 2 ++ examples/ioat/Makefile | 2 ++ examples/ip_reassembly/Makefile | 2 ++ examples/ipsec-secgw/Makefile | 1 + examples/ipv4_multicast/Makefile | 2 ++ examples/kni/Makefile | 1 + examples/l2fwd-cat/Makefile | 2 ++ examples/l2fwd-crypto/Makefile | 6 ++++ examples/l2fwd-event/Makefile | 2 ++ examples/l2fwd-jobstats/Makefile | 2 ++ examples/l2fwd-keepalive/Makefile | 2 ++ examples/l2fwd-keepalive/ka-agent/Makefile | 2 ++ examples/l3fwd-acl/Makefile | 2 ++ examples/l3fwd-graph/Makefile | 2 +- examples/link_status_interrupt/Makefile | 2 ++ .../client_server_mp/mp_client/Makefile | 2 ++ .../client_server_mp/mp_server/Makefile | 2 ++ examples/multi_process/hotplug_mp/Makefile | 2 ++ examples/multi_process/simple_mp/Makefile | 2 ++ examples/multi_process/symmetric_mp/Makefile | 2 ++ examples/ntb/Makefile | 2 +- examples/packet_ordering/Makefile | 2 ++ examples/ptpclient/Makefile | 2 ++ examples/qos_sched/Makefile | 2 ++ examples/rxtx_callbacks/Makefile | 2 ++ examples/server_node_efd/node/Makefile | 2 ++ examples/server_node_efd/server/Makefile | 2 ++ examples/service_cores/Makefile | 2 ++ examples/skeleton/Makefile | 2 ++ examples/timer/Makefile | 2 ++ examples/vhost_blk/vhost_blk.c | 6 ++++ examples/vm_power_manager/Makefile | 2 ++ examples/vm_power_manager/guest_cli/Makefile | 2 ++ examples/vmdq/Makefile | 2 ++ examples/vmdq_dcb/Makefile | 2 ++ 41 files changed, 111 insertions(+), 3 deletions(-) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 01/10] examples/fips_validation: fix build with pkg-config 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 02/10] examples/ipsec-gw: " David Marchand ` (11 subsequent siblings) 12 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Marko Kovacevic, Akhil Goyal, Fiona Trahe, Fan Zhang When this example started using rte_cryptodev_sym_session_pool_create, the part for pkg-config builds was not updated. Fixes: 261bbff75e34 ("examples: use separate crypto session mempools") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/fips_validation/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/fips_validation/Makefile b/examples/fips_validation/Makefile index 7ba9bcfea6..8f82a4c6c5 100644 --- a/examples/fips_validation/Makefile +++ b/examples/fips_validation/Makefile @@ -36,6 +36,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 02/10] examples/ipsec-gw: fix build with pkg-config 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 01/10] examples/fips_validation: fix build with pkg-config David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 03/10] examples/kni: " David Marchand ` (10 subsequent siblings) 12 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Radu Nicolau, Akhil Goyal, Anoob Joseph flow.c: In function ‘parse_flow_tokens’: flow.c:153:23: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 153 | if (ipv4_addr_cpy(&rule->ipv4.spec.hdr.src_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:154:9: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 154 | &rule->ipv4.mask.hdr.src_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:170:23: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 170 | if (ipv4_addr_cpy(&rule->ipv4.spec.hdr.dst_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:171:9: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 171 | &rule->ipv4.mask.hdr.dst_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Meson build is fine since we waive those warnings. Replicate it for make. Fixes: 8e693616fcb2 ("examples/ipsec-secgw: enable flow based distribution") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/ipsec-secgw/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/ipsec-secgw/Makefile b/examples/ipsec-secgw/Makefile index 5e6cb51eac..7670cc3684 100644 --- a/examples/ipsec-secgw/Makefile +++ b/examples/ipsec-secgw/Makefile @@ -42,6 +42,7 @@ LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) CFLAGS += -DALLOW_EXPERIMENTAL_API +CFLAGS += -Wno-address-of-packed-member build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 03/10] examples/kni: fix build with pkg-config 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 01/10] examples/fips_validation: fix build with pkg-config David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 02/10] examples/ipsec-gw: " David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 04/10] examples/l2fwd-crypto: " David Marchand ` (9 subsequent siblings) 12 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson, stable, Ferruh Yigit, Dan Gora rm -f build/kni build/kni-static build/kni-shared test -d build && rmdir -p build || true [...] /usr/bin/ld: /tmp/cc72ssnK.o: undefined reference to symbol 'pthread_join@@GLIBC_2.2.5' This example explicitly call pthread API and should be linked against the pthread library. Fixes: 724beb913b44 ("examples/kni: monitor and update link state continually") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/kni/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/kni/Makefile b/examples/kni/Makefile index fa9fa85319..bdc8a2aabe 100644 --- a/examples/kni/Makefile +++ b/examples/kni/Makefile @@ -24,6 +24,7 @@ PKGCONF ?= pkg-config PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) CFLAGS += -DALLOW_EXPERIMENTAL_API +LDFLAGS += -pthread LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 04/10] examples/l2fwd-crypto: fix build with pkg-config 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (2 preceding siblings ...) 2020-11-10 15:12 ` [dpdk-dev] [PATCH 03/10] examples/kni: " David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 05/10] examples/l3fwd-graph: fix static build David Marchand ` (8 subsequent siblings) 12 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Declan Doherty, Pablo de Lara, Akhil Goyal, Fiona Trahe, Fan Zhang Two issues fixed here. First add the experimental flag. Then fix a link issue with the crypto scheduler driver: /usr/bin/ld: /tmp/cchr7aHA.o: in function `main': main.c:(.text.startup+0x1673): undefined reference to `rte_cryptodev_scheduler_workers_get' collect2: error: ld returned 1 exit status Fixes: e3bcb99a5e13 ("examples/l2fwd-crypto: limit number of sessions") Fixes: 261bbff75e34 ("examples: use separate crypto session mempools") Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/l2fwd-crypto/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/l2fwd-crypto/Makefile b/examples/l2fwd-crypto/Makefile index 4953ee2b95..211a076699 100644 --- a/examples/l2fwd-crypto/Makefile +++ b/examples/l2fwd-crypto/Makefile @@ -24,8 +24,14 @@ PKGCONF ?= pkg-config PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) +NEED_CRYPTO_SCHEDULER = $(shell echo RTE_CRYPTO_SCHEDULER | $(CPP) $(CFLAGS) -P - | tail -1) +ifeq ($(NEED_CRYPTO_SCHEDULER), 1) +LDFLAGS_SHARED += -lrte_crypto_scheduler +endif LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 05/10] examples/l3fwd-graph: fix static build 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (3 preceding siblings ...) 2020-11-10 15:12 ` [dpdk-dev] [PATCH 04/10] examples/l2fwd-crypto: " David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 06/10] examples/ntb: fix clean target David Marchand ` (7 subsequent siblings) 12 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram This example missed the rework from commit 8549295db07b ("build/pkg-config: improve static linking flags"). Fixes: 08bd1a174461 ("examples/l3fwd-graph: add graph-based l3fwd skeleton") Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/l3fwd-graph/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/l3fwd-graph/Makefile b/examples/l3fwd-graph/Makefile index 368ac21147..1e4f0600ae 100644 --- a/examples/l3fwd-graph/Makefile +++ b/examples/l3fwd-graph/Makefile @@ -24,7 +24,7 @@ PKGCONF=pkg-config --define-prefix PC_FILE := $(shell $(PKGCONF) --path libdpdk) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) -DALLOW_EXPERIMENTAL_API LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) -LDFLAGS_STATIC = -Wl,-Bstatic $(shell $(PKGCONF) --static --libs libdpdk) +LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 06/10] examples/ntb: fix clean target 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (4 preceding siblings ...) 2020-11-10 15:12 ` [dpdk-dev] [PATCH 05/10] examples/l3fwd-graph: fix static build David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-12 1:30 ` Li, Xiaoyun 2020-11-10 15:12 ` [dpdk-dev] [PATCH 07/10] examples/vhost_blk: fix build with pkg-config David Marchand ` (6 subsequent siblings) 12 siblings, 1 reply; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Xiaoyun Li, Jingjing Wu, Xiaolong Ye When introducing this example, the cleanup from commit 7e9562a107f1 ("examples: fix make clean when using pkg-config") was missed. Fixes: c5eebf85badc ("examples/ntb: add example for NTB") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/ntb/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ntb/Makefile b/examples/ntb/Makefile index 4675570fd2..d35dabc471 100644 --- a/examples/ntb/Makefile +++ b/examples/ntb/Makefile @@ -42,4 +42,4 @@ build: .PHONY: clean clean: rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared - rmdir --ignore-fail-on-non-empty build + test -d build && rmdir -p build || true -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH 06/10] examples/ntb: fix clean target 2020-11-10 15:12 ` [dpdk-dev] [PATCH 06/10] examples/ntb: fix clean target David Marchand @ 2020-11-12 1:30 ` Li, Xiaoyun 0 siblings, 0 replies; 51+ messages in thread From: Li, Xiaoyun @ 2020-11-12 1:30 UTC (permalink / raw) To: David Marchand, dev Cc: thomas, Richardson, Bruce, stable, Wu, Jingjing, Xiaolong Ye > -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Tuesday, November 10, 2020 23:12 > To: dev@dpdk.org > Cc: thomas@monjalon.net; Richardson, Bruce <bruce.richardson@intel.com>; > stable@dpdk.org; Li, Xiaoyun <xiaoyun.li@intel.com>; Wu, Jingjing > <jingjing.wu@intel.com>; Xiaolong Ye <xiaolong.ye@intel.com> > Subject: [PATCH 06/10] examples/ntb: fix clean target > > When introducing this example, the cleanup from commit 7e9562a107f1 > ("examples: fix make clean when using pkg-config") was missed. > > Fixes: c5eebf85badc ("examples/ntb: add example for NTB") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > examples/ntb/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/examples/ntb/Makefile b/examples/ntb/Makefile index > 4675570fd2..d35dabc471 100644 > --- a/examples/ntb/Makefile > +++ b/examples/ntb/Makefile > @@ -42,4 +42,4 @@ build: > .PHONY: clean > clean: > rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared > - rmdir --ignore-fail-on-non-empty build > + test -d build && rmdir -p build || true > -- > 2.23.0 Thanks for the catch. Acked-by: Xiaoyun Li <xiaoyun.li@intel.com> ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 07/10] examples/vhost_blk: fix build with pkg-config 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (5 preceding siblings ...) 2020-11-10 15:12 ` [dpdk-dev] [PATCH 06/10] examples/ntb: fix clean target David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 08/10] examples/rxtx_callbacks: " David Marchand ` (5 subsequent siblings) 12 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson, Maxime Coquelin, Chenbo Xia, Jin Yu vhost_blk.c: In function ‘ctrlr_worker’: vhost_blk.c:543:2: warning: implicit declaration of function ‘CPU_ZERO’ [-Wimplicit-function-declaration] 543 | CPU_ZERO(&cpuset); | ^~~~~~~~ vhost_blk.c:544:2: warning: implicit declaration of function ‘CPU_SET’ [-Wimplicit-function-declaration] 544 | CPU_SET(0, &cpuset); | ^~~~~~~ vhost_blk.c:545:2: warning: implicit declaration of function ‘pthread_setaffinity_np’ [-Wimplicit-function-declaration] 545 | pthread_setaffinity_np(thread, sizeof(cpu_set_t), &cpuset); | ^~~~~~~~~~~~~~~~~~~~~~ /usr/bin/ld: /tmp/cczpiMWH.o: in function `ctrlr_worker': vhost_blk.c:(.text+0x1076): undefined reference to `CPU_ZERO' /usr/bin/ld: vhost_blk.c:(.text+0x1082): undefined reference to `CPU_SET' collect2: error: ld returned 1 exit status gmake: *** [Makefile:34: build/vhost-blk-shared] Error 1 Explicitly pass _GNU_SOURCE and include missing headers (rather than rely on automagic inclusion from other system headers). Fixes: c19beb3f38cd ("examples/vhost_blk: introduce vhost storage sample") Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/vhost_blk/vhost_blk.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/vhost_blk/vhost_blk.c b/examples/vhost_blk/vhost_blk.c index 8f5d61a589..bb293d492f 100644 --- a/examples/vhost_blk/vhost_blk.c +++ b/examples/vhost_blk/vhost_blk.c @@ -2,6 +2,12 @@ * Copyright(c) 2010-2019 Intel Corporation */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#include <pthread.h> +#include <sched.h> + #include <stdint.h> #include <unistd.h> #include <stdbool.h> -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 08/10] examples/rxtx_callbacks: fix build with pkg-config 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (6 preceding siblings ...) 2020-11-10 15:12 ` [dpdk-dev] [PATCH 07/10] examples/vhost_blk: fix build with pkg-config David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 09/10] devtools: compile all examples " David Marchand ` (4 subsequent siblings) 12 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, John McNamara, Ferruh Yigit, Tom Barbette This example is missing the experimental flag since it uses an experimental API. Fixes: cd1dadeb9b2a ("examples/rxtx_callbacks: support HW timestamp") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/rxtx_callbacks/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/rxtx_callbacks/Makefile b/examples/rxtx_callbacks/Makefile index bac3015d34..a618cdf751 100644 --- a/examples/rxtx_callbacks/Makefile +++ b/examples/rxtx_callbacks/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 09/10] devtools: compile all examples with pkg-config 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (7 preceding siblings ...) 2020-11-10 15:12 ` [dpdk-dev] [PATCH 08/10] examples/rxtx_callbacks: " David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 16:02 ` Bruce Richardson 2020-11-10 17:18 ` Bruce Richardson 2020-11-10 15:12 ` [dpdk-dev] [PATCH 10/10] examples: restore trace point David Marchand ` (3 subsequent siblings) 12 siblings, 2 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson Compiling examples out of meson must be tested so that those examples Makefile work. This is based on Bruce patch [1], waiting for it (or an equivalent) to be merged. 1: https://patchwork.dpdk.org/patch/82361/ Signed-off-by: David Marchand <david.marchand@redhat.com> --- devtools/test-meson-builds.sh | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh index 0c95d1cc98..8e26d0808d 100755 --- a/devtools/test-meson-builds.sh +++ b/devtools/test-meson-builds.sh @@ -268,7 +268,33 @@ export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH # if pkg-config defines the necessary flags, test building some examples if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then export PKGCONF="pkg-config --define-prefix" - for example in cmdline helloworld l2fwd l3fwd skeleton timer; do + export LD_LIBRARY_PATH=$(dirname $(find $DESTDIR -name librte_eal.so)):$LD_LIBRARY_PATH + examples_to_test=${DPDK_BUILD_TEST_EXAMPLES:-} + if [ -z "$examples_to_test" ]; then + ################## + # FIXME examples # + ################## + skipped="" + # Relies on librte_power internal header + skipped="$skipped guest_cli vm_power_manager" + # Expects libqos + skipped="$skipped l2fwd-cat" + # performance-thread/{l3fwd-thread,pthread_shim} expect common .mk + skipped="$skipped l3fwd-thread pthread_shim" + # client_server_mp/{mp_server,mp_client} expect common headers + skipped="$skipped mp_client mp_server" + # server_node_efd/{node,server} expect common headers + skipped="$skipped node server" + # waiting for fixes + skipped="$skipped vhost" + for mk in $DESTDIR/usr/local/share/dpdk/examples/*/Makefile; do + name=$(basename $(dirname $mk)) + [ "$skipped" = "${skipped/ $name}" ] || + continue + examples_to_test="$examples_to_test $name" + done + fi + for example in $examples_to_test; do echo "## Building $example" $MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example clean shared static done -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH 09/10] devtools: compile all examples with pkg-config 2020-11-10 15:12 ` [dpdk-dev] [PATCH 09/10] devtools: compile all examples " David Marchand @ 2020-11-10 16:02 ` Bruce Richardson 2020-11-10 17:18 ` Bruce Richardson 1 sibling, 0 replies; 51+ messages in thread From: Bruce Richardson @ 2020-11-10 16:02 UTC (permalink / raw) To: David Marchand; +Cc: dev, thomas On Tue, Nov 10, 2020 at 04:12:18PM +0100, David Marchand wrote: > Compiling examples out of meson must be tested so that those examples > Makefile work. > This is based on Bruce patch [1], waiting for it (or an equivalent) to be > merged. > > 1: https://patchwork.dpdk.org/patch/82361/ > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > devtools/test-meson-builds.sh | 28 +++++++++++++++++++++++++++- > 1 file changed, 27 insertions(+), 1 deletion(-) > > diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh > index 0c95d1cc98..8e26d0808d 100755 > --- a/devtools/test-meson-builds.sh > +++ b/devtools/test-meson-builds.sh > @@ -268,7 +268,33 @@ export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH > # if pkg-config defines the necessary flags, test building some examples > if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then > export PKGCONF="pkg-config --define-prefix" > - for example in cmdline helloworld l2fwd l3fwd skeleton timer; do > + export LD_LIBRARY_PATH=$(dirname $(find $DESTDIR -name librte_eal.so)):$LD_LIBRARY_PATH > + examples_to_test=${DPDK_BUILD_TEST_EXAMPLES:-} > + if [ -z "$examples_to_test" ]; then > + ################## > + # FIXME examples # > + ################## > + skipped="" > + # Relies on librte_power internal header > + skipped="$skipped guest_cli vm_power_manager" > + # Expects libqos > + skipped="$skipped l2fwd-cat" > + # performance-thread/{l3fwd-thread,pthread_shim} expect common .mk > + skipped="$skipped l3fwd-thread pthread_shim" > + # client_server_mp/{mp_server,mp_client} expect common headers > + skipped="$skipped mp_client mp_server" I was initially confused by this, because they build fine for me. However, I realised I was running the build from within the examples source folder, rather than as installed in the install folder. The examples directory seems more flattened there, which is the cause of the problems. I will investigate. /Bruce ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH 09/10] devtools: compile all examples with pkg-config 2020-11-10 15:12 ` [dpdk-dev] [PATCH 09/10] devtools: compile all examples " David Marchand 2020-11-10 16:02 ` Bruce Richardson @ 2020-11-10 17:18 ` Bruce Richardson 2020-11-10 17:27 ` David Marchand 1 sibling, 1 reply; 51+ messages in thread From: Bruce Richardson @ 2020-11-10 17:18 UTC (permalink / raw) To: David Marchand; +Cc: dev, thomas On Tue, Nov 10, 2020 at 04:12:18PM +0100, David Marchand wrote: > Compiling examples out of meson must be tested so that those examples > Makefile work. > This is based on Bruce patch [1], waiting for it (or an equivalent) to be > merged. > > 1: https://patchwork.dpdk.org/patch/82361/ > > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > devtools/test-meson-builds.sh | 28 +++++++++++++++++++++++++++- > 1 file changed, 27 insertions(+), 1 deletion(-) > > diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh > index 0c95d1cc98..8e26d0808d 100755 > --- a/devtools/test-meson-builds.sh > +++ b/devtools/test-meson-builds.sh > @@ -268,7 +268,33 @@ export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH > # if pkg-config defines the necessary flags, test building some examples > if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then > export PKGCONF="pkg-config --define-prefix" > - for example in cmdline helloworld l2fwd l3fwd skeleton timer; do > + export LD_LIBRARY_PATH=$(dirname $(find $DESTDIR -name librte_eal.so)):$LD_LIBRARY_PATH > + examples_to_test=${DPDK_BUILD_TEST_EXAMPLES:-} > + if [ -z "$examples_to_test" ]; then > + ################## > + # FIXME examples # > + ################## > + skipped="" > + # Relies on librte_power internal header > + skipped="$skipped guest_cli vm_power_manager" > + # Expects libqos > + skipped="$skipped l2fwd-cat" > + # performance-thread/{l3fwd-thread,pthread_shim} expect common .mk > + skipped="$skipped l3fwd-thread pthread_shim" > + # client_server_mp/{mp_server,mp_client} expect common headers > + skipped="$skipped mp_client mp_server" > + # server_node_efd/{node,server} expect common headers > + skipped="$skipped node server" The issues with the missing common files for all of above should be fixed by patch [1] /Bruce [1] http://patches.dpdk.org/patch/83911/ ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH 09/10] devtools: compile all examples with pkg-config 2020-11-10 17:18 ` Bruce Richardson @ 2020-11-10 17:27 ` David Marchand 0 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 17:27 UTC (permalink / raw) To: Bruce Richardson; +Cc: dev, Thomas Monjalon On Tue, Nov 10, 2020 at 6:19 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > + # performance-thread/{l3fwd-thread,pthread_shim} expect common .mk > > + skipped="$skipped l3fwd-thread pthread_shim" > > + # client_server_mp/{mp_server,mp_client} expect common headers > > + skipped="$skipped mp_client mp_server" > > + # server_node_efd/{node,server} expect common headers > > + skipped="$skipped node server" > > The issues with the missing common files for all of above should be fixed > by patch [1] I was about to look at this flattening stuff. Thanks for fixing while I was out for the kids :-). I'll respin once both your patches are in. -- David Marchand ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH 10/10] examples: restore trace point 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (8 preceding siblings ...) 2020-11-10 15:12 ` [dpdk-dev] [PATCH 09/10] devtools: compile all examples " David Marchand @ 2020-11-10 15:12 ` David Marchand 2020-11-10 16:04 ` [dpdk-dev] [PATCH 00/10] Examples compilation fixes Bruce Richardson ` (2 subsequent siblings) 12 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-10 15:12 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Olivier Matz, David Hunt, Ori Kam, Konstantin Ananyev, Tomasz Kantecki, Sunil Kumar Kori, Pavan Nikhilesh, Anatoly Burakov, Reshma Pattan, Kirill Rybalchenko, Cristian Dumitrescu, Jasvinder Singh, Byron Marohn, Yipeng Wang, Harry van Haaren, John McNamara, Robert Sanford, Erik Gabriel Carrillo Before make removal, those examples were built with experimental flag for tracepoints to be compiled in but the pkg-config part of those makefiles were missed. Fixes: 78d44153de8f ("ethdev: add tracepoints") Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/cmdline/Makefile | 2 ++ examples/distributor/Makefile | 2 ++ examples/ethtool/ethtool-app/Makefile | 2 ++ examples/flow_filtering/Makefile | 2 ++ examples/helloworld/Makefile | 2 ++ examples/ioat/Makefile | 2 ++ examples/ip_reassembly/Makefile | 2 ++ examples/ipv4_multicast/Makefile | 2 ++ examples/l2fwd-cat/Makefile | 2 ++ examples/l2fwd-event/Makefile | 2 ++ examples/l2fwd-jobstats/Makefile | 2 ++ examples/l2fwd-keepalive/Makefile | 2 ++ examples/l2fwd-keepalive/ka-agent/Makefile | 2 ++ examples/l3fwd-acl/Makefile | 2 ++ examples/link_status_interrupt/Makefile | 2 ++ examples/multi_process/client_server_mp/mp_client/Makefile | 2 ++ examples/multi_process/client_server_mp/mp_server/Makefile | 2 ++ examples/multi_process/hotplug_mp/Makefile | 2 ++ examples/multi_process/simple_mp/Makefile | 2 ++ examples/multi_process/symmetric_mp/Makefile | 2 ++ examples/packet_ordering/Makefile | 2 ++ examples/ptpclient/Makefile | 2 ++ examples/qos_sched/Makefile | 2 ++ examples/server_node_efd/node/Makefile | 2 ++ examples/server_node_efd/server/Makefile | 2 ++ examples/service_cores/Makefile | 2 ++ examples/skeleton/Makefile | 2 ++ examples/timer/Makefile | 2 ++ examples/vm_power_manager/Makefile | 2 ++ examples/vm_power_manager/guest_cli/Makefile | 2 ++ examples/vmdq/Makefile | 2 ++ examples/vmdq_dcb/Makefile | 2 ++ 32 files changed, 64 insertions(+) diff --git a/examples/cmdline/Makefile b/examples/cmdline/Makefile index d8f51fb39b..09da84ba0b 100644 --- a/examples/cmdline/Makefile +++ b/examples/cmdline/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/distributor/Makefile b/examples/distributor/Makefile index 4116064581..d7615f9a32 100644 --- a/examples/distributor/Makefile +++ b/examples/distributor/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile index 5ebeb200a8..93ef5c27c3 100644 --- a/examples/ethtool/ethtool-app/Makefile +++ b/examples/ethtool/ethtool-app/Makefile @@ -31,6 +31,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED += $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC += $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/flow_filtering/Makefile b/examples/flow_filtering/Makefile index 0577e52985..9bc9179346 100644 --- a/examples/flow_filtering/Makefile +++ b/examples/flow_filtering/Makefile @@ -24,6 +24,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/helloworld/Makefile b/examples/helloworld/Makefile index 2eef6e4527..436569f5a6 100644 --- a/examples/helloworld/Makefile +++ b/examples/helloworld/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ioat/Makefile b/examples/ioat/Makefile index 9645c27d2f..c13ad8d8af 100644 --- a/examples/ioat/Makefile +++ b/examples/ioat/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ip_reassembly/Makefile b/examples/ip_reassembly/Makefile index 479b802907..740f4721d0 100644 --- a/examples/ip_reassembly/Makefile +++ b/examples/ip_reassembly/Makefile @@ -27,6 +27,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ipv4_multicast/Makefile b/examples/ipv4_multicast/Makefile index fb1ebdd433..7ea44e6f63 100644 --- a/examples/ipv4_multicast/Makefile +++ b/examples/ipv4_multicast/Makefile @@ -27,6 +27,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile index c5f82fb548..9ba1135612 100644 --- a/examples/l2fwd-cat/Makefile +++ b/examples/l2fwd-cat/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + LDFLAGS += -lpqos build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build diff --git a/examples/l2fwd-event/Makefile b/examples/l2fwd-event/Makefile index 109b7caa4e..384224b24a 100644 --- a/examples/l2fwd-event/Makefile +++ b/examples/l2fwd-event/Makefile @@ -32,6 +32,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-jobstats/Makefile b/examples/l2fwd-jobstats/Makefile index d3ff2d3ee9..fcb60b2a33 100644 --- a/examples/l2fwd-jobstats/Makefile +++ b/examples/l2fwd-jobstats/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-keepalive/Makefile b/examples/l2fwd-keepalive/Makefile index c327efab36..09a891149b 100644 --- a/examples/l2fwd-keepalive/Makefile +++ b/examples/l2fwd-keepalive/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-keepalive/ka-agent/Makefile b/examples/l2fwd-keepalive/ka-agent/Makefile index 700137c2e2..8b329a78b1 100644 --- a/examples/l2fwd-keepalive/ka-agent/Makefile +++ b/examples/l2fwd-keepalive/ka-agent/Makefile @@ -30,6 +30,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l3fwd-acl/Makefile b/examples/l3fwd-acl/Makefile index eeb6288dae..3420ea3a9c 100644 --- a/examples/l3fwd-acl/Makefile +++ b/examples/l3fwd-acl/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/link_status_interrupt/Makefile b/examples/link_status_interrupt/Makefile index b9b02124a4..fa608c56a0 100644 --- a/examples/link_status_interrupt/Makefile +++ b/examples/link_status_interrupt/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/client_server_mp/mp_client/Makefile b/examples/multi_process/client_server_mp/mp_client/Makefile index b723e545b7..bc00a1c875 100644 --- a/examples/multi_process/client_server_mp/mp_client/Makefile +++ b/examples/multi_process/client_server_mp/mp_client/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/client_server_mp/mp_server/Makefile b/examples/multi_process/client_server_mp/mp_server/Makefile index f49260a256..d066524b36 100644 --- a/examples/multi_process/client_server_mp/mp_server/Makefile +++ b/examples/multi_process/client_server_mp/mp_server/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/hotplug_mp/Makefile b/examples/multi_process/hotplug_mp/Makefile index 2c023a73d8..3122449d62 100644 --- a/examples/multi_process/hotplug_mp/Makefile +++ b/examples/multi_process/hotplug_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/simple_mp/Makefile b/examples/multi_process/simple_mp/Makefile index 410f8b5368..d03597c4c2 100644 --- a/examples/multi_process/simple_mp/Makefile +++ b/examples/multi_process/simple_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/symmetric_mp/Makefile b/examples/multi_process/symmetric_mp/Makefile index df69ecabe7..45b7214cba 100644 --- a/examples/multi_process/symmetric_mp/Makefile +++ b/examples/multi_process/symmetric_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/packet_ordering/Makefile b/examples/packet_ordering/Makefile index e8d6c57b72..09abda91ea 100644 --- a/examples/packet_ordering/Makefile +++ b/examples/packet_ordering/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ptpclient/Makefile b/examples/ptpclient/Makefile index 86059d8b28..9f56a5e7a0 100644 --- a/examples/ptpclient/Makefile +++ b/examples/ptpclient/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile index 408074a9f5..f42406fe1c 100644 --- a/examples/qos_sched/Makefile +++ b/examples/qos_sched/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/server_node_efd/node/Makefile b/examples/server_node_efd/node/Makefile index a4efef42dc..2120de5397 100644 --- a/examples/server_node_efd/node/Makefile +++ b/examples/server_node_efd/node/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/server_node_efd/server/Makefile b/examples/server_node_efd/server/Makefile index 106e1abd74..6b5878d8c0 100644 --- a/examples/server_node_efd/server/Makefile +++ b/examples/server_node_efd/server/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/service_cores/Makefile b/examples/service_cores/Makefile index beb7ea0b82..754333c878 100644 --- a/examples/service_cores/Makefile +++ b/examples/service_cores/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/skeleton/Makefile b/examples/skeleton/Makefile index ca52abba42..4fa97cb975 100644 --- a/examples/skeleton/Makefile +++ b/examples/skeleton/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/timer/Makefile b/examples/timer/Makefile index 0f6523afa6..70b1af9f4b 100644 --- a/examples/timer/Makefile +++ b/examples/timer/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vm_power_manager/Makefile b/examples/vm_power_manager/Makefile index 027d17c7ef..8ac1180b2f 100644 --- a/examples/vm_power_manager/Makefile +++ b/examples/vm_power_manager/Makefile @@ -32,6 +32,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + ifneq ($(shell $(PKGCONF) --atleast-version=0.9.3 libvirt; echo $$?), 0) $(error vm_power_manager requires libvirt >= 0.9.3) endif diff --git a/examples/vm_power_manager/guest_cli/Makefile b/examples/vm_power_manager/guest_cli/Makefile index b84deec574..1ee1ca1017 100644 --- a/examples/vm_power_manager/guest_cli/Makefile +++ b/examples/vm_power_manager/guest_cli/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vmdq/Makefile b/examples/vmdq/Makefile index de527281eb..749ed53c6f 100644 --- a/examples/vmdq/Makefile +++ b/examples/vmdq/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vmdq_dcb/Makefile b/examples/vmdq_dcb/Makefile index 9c9049d85e..1dd42105d6 100644 --- a/examples/vmdq_dcb/Makefile +++ b/examples/vmdq_dcb/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH 00/10] Examples compilation fixes 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (9 preceding siblings ...) 2020-11-10 15:12 ` [dpdk-dev] [PATCH 10/10] examples: restore trace point David Marchand @ 2020-11-10 16:04 ` Bruce Richardson 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand 12 siblings, 0 replies; 51+ messages in thread From: Bruce Richardson @ 2020-11-10 16:04 UTC (permalink / raw) To: David Marchand; +Cc: dev, thomas On Tue, Nov 10, 2020 at 04:12:09PM +0100, David Marchand wrote: > I stepped right into Bruce trap [1] and tested all possible examples. > The result is this series. > > 1: https://patchwork.dpdk.org/patch/82361/ > > -- > David Marchand > > David Marchand (10): > examples/fips_validation: fix build with pkg-config > examples/ipsec-gw: fix build with pkg-config > examples/kni: fix build with pkg-config > examples/l2fwd-crypto: fix build with pkg-config > examples/l3fwd-graph: fix static build > examples/ntb: fix clean target > examples/vhost_blk: fix build with pkg-config > examples/rxtx_callbacks: fix build with pkg-config > devtools: compile all examples with pkg-config > examples: restore trace point > Thanks for the work David, this is great. I'll see about doing more cleanup on the skipped list, particularly how we install the examples in the "share" folder, but until then this is great progress. Series-acked-by: Bruce Richardson <bruce.richardson> ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 00/11] Examples compilation fixes 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (10 preceding siblings ...) 2020-11-10 16:04 ` [dpdk-dev] [PATCH 00/10] Examples compilation fixes Bruce Richardson @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 01/11] examples/fips_validation: fix build with pkg-config David Marchand ` (10 more replies) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand 12 siblings, 11 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson I tested external compilation for all possible examples (in my env). The result is this series. -- David Marchand Changelog since v1: - added patch 7 to fix performance-thread example, - reworked last patch by introducing a new -Dexamples=buildall special value and removed exceptions for examples recently fixed in main thanks to Bruce, David Marchand (11): examples/fips_validation: fix build with pkg-config examples/ipsec-gw: fix build with pkg-config examples/kni: fix build with pkg-config examples/l2fwd-crypto: fix build with pkg-config examples/l3fwd-graph: fix static build examples/ntb: fix clean target examples/performance-thread: fix build with pkg-config examples/vhost_blk: fix build with pkg-config examples/rxtx_callbacks: fix build with pkg-config examples: restore trace point devtools: compile all buildable examples with pkg-config devtools/test-meson-builds.sh | 11 +++++++-- examples/cmdline/Makefile | 2 ++ examples/distributor/Makefile | 2 ++ examples/ethtool/ethtool-app/Makefile | 2 ++ examples/fips_validation/Makefile | 2 ++ examples/flow_filtering/Makefile | 2 ++ examples/helloworld/Makefile | 2 ++ examples/ioat/Makefile | 2 ++ examples/ip_reassembly/Makefile | 2 ++ examples/ipsec-secgw/Makefile | 1 + examples/ipv4_multicast/Makefile | 2 ++ examples/kni/Makefile | 1 + examples/l2fwd-cat/Makefile | 2 ++ examples/l2fwd-crypto/Makefile | 6 +++++ examples/l2fwd-event/Makefile | 2 ++ examples/l2fwd-jobstats/Makefile | 2 ++ examples/l2fwd-keepalive/Makefile | 2 ++ examples/l2fwd-keepalive/ka-agent/Makefile | 2 ++ examples/l3fwd-acl/Makefile | 2 ++ examples/l3fwd-graph/Makefile | 2 +- examples/link_status_interrupt/Makefile | 2 ++ examples/meson.build | 24 +++++++++++++++++-- .../client_server_mp/mp_client/Makefile | 2 ++ .../client_server_mp/mp_server/Makefile | 2 ++ examples/multi_process/hotplug_mp/Makefile | 2 ++ examples/multi_process/simple_mp/Makefile | 2 ++ examples/multi_process/symmetric_mp/Makefile | 2 ++ examples/ntb/Makefile | 2 +- examples/packet_ordering/Makefile | 2 ++ .../performance-thread/l3fwd-thread/main.c | 5 ++++ examples/ptpclient/Makefile | 2 ++ examples/qos_sched/Makefile | 2 ++ examples/rxtx_callbacks/Makefile | 2 ++ examples/server_node_efd/node/Makefile | 2 ++ examples/server_node_efd/server/Makefile | 2 ++ examples/service_cores/Makefile | 2 ++ examples/skeleton/Makefile | 2 ++ examples/timer/Makefile | 2 ++ examples/vhost_blk/vhost_blk.c | 6 +++++ examples/vm_power_manager/Makefile | 2 ++ examples/vm_power_manager/guest_cli/Makefile | 2 ++ examples/vmdq/Makefile | 2 ++ examples/vmdq_dcb/Makefile | 2 ++ meson.build | 2 ++ 44 files changed, 122 insertions(+), 6 deletions(-) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 01/11] examples/fips_validation: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 02/11] examples/ipsec-gw: " David Marchand ` (9 subsequent siblings) 10 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Marko Kovacevic, Akhil Goyal, Fiona Trahe, Fan Zhang When this example started using rte_cryptodev_sym_session_pool_create, the part for pkg-config builds was not updated. Fixes: 261bbff75e34 ("examples: use separate crypto session mempools") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/fips_validation/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/fips_validation/Makefile b/examples/fips_validation/Makefile index 7ba9bcfea6..8f82a4c6c5 100644 --- a/examples/fips_validation/Makefile +++ b/examples/fips_validation/Makefile @@ -36,6 +36,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 02/11] examples/ipsec-gw: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 01/11] examples/fips_validation: fix build with pkg-config David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-16 4:16 ` [dpdk-dev] [EXT] " Anoob Joseph 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 03/11] examples/kni: " David Marchand ` (8 subsequent siblings) 10 siblings, 1 reply; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Radu Nicolau, Akhil Goyal, Anoob Joseph flow.c: In function ‘parse_flow_tokens’: flow.c:153:23: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 153 | if (ipv4_addr_cpy(&rule->ipv4.spec.hdr.src_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:154:9: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 154 | &rule->ipv4.mask.hdr.src_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:170:23: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 170 | if (ipv4_addr_cpy(&rule->ipv4.spec.hdr.dst_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:171:9: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 171 | &rule->ipv4.mask.hdr.dst_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Meson build is fine since we waive those warnings. Replicate it for make. Fixes: 8e693616fcb2 ("examples/ipsec-secgw: enable flow based distribution") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/ipsec-secgw/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/ipsec-secgw/Makefile b/examples/ipsec-secgw/Makefile index 5e6cb51eac..7670cc3684 100644 --- a/examples/ipsec-secgw/Makefile +++ b/examples/ipsec-secgw/Makefile @@ -42,6 +42,7 @@ LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) CFLAGS += -DALLOW_EXPERIMENTAL_API +CFLAGS += -Wno-address-of-packed-member build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [EXT] [PATCH v2 02/11] examples/ipsec-gw: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 02/11] examples/ipsec-gw: " David Marchand @ 2020-11-16 4:16 ` Anoob Joseph 0 siblings, 0 replies; 51+ messages in thread From: Anoob Joseph @ 2020-11-16 4:16 UTC (permalink / raw) To: David Marchand, dev Cc: thomas, bruce.richardson, stable, Radu Nicolau, Akhil Goyal > flow.c: In function ‘parse_flow_tokens’: > flow.c:153:23: error: taking address of packed member of ‘struct > rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of- > packed-member] > 153 | if (ipv4_addr_cpy(&rule->ipv4.spec.hdr.src_addr, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > flow.c:154:9: error: taking address of packed member of ‘struct rte_ipv4_hdr’ > may result in an unaligned pointer value [-Werror=address-of-packed- > member] > 154 | &rule->ipv4.mask.hdr.src_addr, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > flow.c:170:23: error: taking address of packed member of ‘struct > rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of- > packed-member] > 170 | if (ipv4_addr_cpy(&rule->ipv4.spec.hdr.dst_addr, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > flow.c:171:9: error: taking address of packed member of ‘struct rte_ipv4_hdr’ > may result in an unaligned pointer value [-Werror=address-of-packed- > member] > 171 | &rule->ipv4.mask.hdr.dst_addr, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > > Meson build is fine since we waive those warnings. > Replicate it for make. > > Fixes: 8e693616fcb2 ("examples/ipsec-secgw: enable flow based > distribution") > Cc: stable@dpdk.org > > Signed-off-by: David Marchand <david.marchand@redhat.com> > Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Anoob Joseph <anoobj@marvell.com> ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 03/11] examples/kni: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 01/11] examples/fips_validation: fix build with pkg-config David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 02/11] examples/ipsec-gw: " David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: " David Marchand ` (7 subsequent siblings) 10 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson, stable, Ferruh Yigit, Dan Gora rm -f build/kni build/kni-static build/kni-shared test -d build && rmdir -p build || true [...] /usr/bin/ld: /tmp/cc72ssnK.o: undefined reference to symbol 'pthread_join@@GLIBC_2.2.5' This example explicitly call pthread API and should be linked against the pthread library. Fixes: 724beb913b44 ("examples/kni: monitor and update link state continually") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/kni/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/kni/Makefile b/examples/kni/Makefile index fa9fa85319..bdc8a2aabe 100644 --- a/examples/kni/Makefile +++ b/examples/kni/Makefile @@ -24,6 +24,7 @@ PKGCONF ?= pkg-config PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) CFLAGS += -DALLOW_EXPERIMENTAL_API +LDFLAGS += -pthread LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand ` (2 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 03/11] examples/kni: " David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 13:53 ` Bruce Richardson 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 05/11] examples/l3fwd-graph: fix static build David Marchand ` (6 subsequent siblings) 10 siblings, 1 reply; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Declan Doherty, Pablo de Lara, Akhil Goyal, Fiona Trahe, Fan Zhang Two issues fixed here. First add the experimental flag. Then fix a link issue with the crypto scheduler driver: /usr/bin/ld: /tmp/cchr7aHA.o: in function `main': main.c:(.text.startup+0x1673): undefined reference to `rte_cryptodev_scheduler_workers_get' collect2: error: ld returned 1 exit status Fixes: e3bcb99a5e13 ("examples/l2fwd-crypto: limit number of sessions") Fixes: 261bbff75e34 ("examples: use separate crypto session mempools") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/l2fwd-crypto/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/l2fwd-crypto/Makefile b/examples/l2fwd-crypto/Makefile index 4953ee2b95..211a076699 100644 --- a/examples/l2fwd-crypto/Makefile +++ b/examples/l2fwd-crypto/Makefile @@ -24,8 +24,14 @@ PKGCONF ?= pkg-config PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) +NEED_CRYPTO_SCHEDULER = $(shell echo RTE_CRYPTO_SCHEDULER | $(CPP) $(CFLAGS) -P - | tail -1) +ifeq ($(NEED_CRYPTO_SCHEDULER), 1) +LDFLAGS_SHARED += -lrte_crypto_scheduler +endif LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: " David Marchand @ 2020-11-13 13:53 ` Bruce Richardson 2020-11-13 14:15 ` David Marchand 0 siblings, 1 reply; 51+ messages in thread From: Bruce Richardson @ 2020-11-13 13:53 UTC (permalink / raw) To: David Marchand Cc: dev, thomas, Declan Doherty, Pablo de Lara, Akhil Goyal, Fiona Trahe, Fan Zhang On Fri, Nov 13, 2020 at 01:24:23PM +0100, David Marchand wrote: > Two issues fixed here. > > First add the experimental flag. > Then fix a link issue with the crypto scheduler driver: > /usr/bin/ld: /tmp/cchr7aHA.o: in function `main': > main.c:(.text.startup+0x1673): undefined reference to > `rte_cryptodev_scheduler_workers_get' > collect2: error: ld returned 1 exit status > > Fixes: e3bcb99a5e13 ("examples/l2fwd-crypto: limit number of sessions") > Fixes: 261bbff75e34 ("examples: use separate crypto session mempools") > > Signed-off-by: David Marchand <david.marchand@redhat.com> > Acked-by: Bruce Richardson <bruce.richardson@intel.com> > --- > examples/l2fwd-crypto/Makefile | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/examples/l2fwd-crypto/Makefile b/examples/l2fwd-crypto/Makefile > index 4953ee2b95..211a076699 100644 > --- a/examples/l2fwd-crypto/Makefile > +++ b/examples/l2fwd-crypto/Makefile > @@ -24,8 +24,14 @@ PKGCONF ?= pkg-config > PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) > CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) > LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) > +NEED_CRYPTO_SCHEDULER = $(shell echo RTE_CRYPTO_SCHEDULER | $(CPP) $(CFLAGS) -P - | tail -1) > +ifeq ($(NEED_CRYPTO_SCHEDULER), 1) Sorry for the last-minute comment, but I wonder for this check if we can do better by adding into each makefile something like: CONFIG_DEFINES=$(shell $(CC) $(CFLAGS) -dM -E - < /dev/null) Then we can easily do multiple checks for vars as needed using findstring, e.g. ifeq ($(findstring RTE_CRYPTO_SCHEDULER,$(CONFIG_DEFINES),) $(info No crypto scheduler found) else ... endif Whatever approach we use here, I'd like applicable across all makefiles for consistency, and shelling out per-value seems wasteful. Pulling all macro values also allows checks for architecture and instruction set levels too, if so desired. /Bruce > +LDFLAGS_SHARED += -lrte_crypto_scheduler > +endif > LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) > > +CFLAGS += -DALLOW_EXPERIMENTAL_API > + > build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build > $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) > > -- > 2.23.0 > ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: fix build with pkg-config 2020-11-13 13:53 ` Bruce Richardson @ 2020-11-13 14:15 ` David Marchand 2020-11-13 15:41 ` David Marchand 0 siblings, 1 reply; 51+ messages in thread From: David Marchand @ 2020-11-13 14:15 UTC (permalink / raw) To: Bruce Richardson Cc: dev, Thomas Monjalon, Declan Doherty, Pablo de Lara, Akhil Goyal, Fiona Trahe, Fan Zhang On Fri, Nov 13, 2020 at 2:53 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > +NEED_CRYPTO_SCHEDULER = $(shell echo RTE_CRYPTO_SCHEDULER | $(CPP) $(CFLAGS) -P - | tail -1) > > +ifeq ($(NEED_CRYPTO_SCHEDULER), 1) > > Sorry for the last-minute comment, but I wonder for this check if we can do > better by adding into each makefile something like: > > CONFIG_DEFINES=$(shell $(CC) $(CFLAGS) -dM -E - < /dev/null) > > Then we can easily do multiple checks for vars as needed using findstring, > e.g. > > ifeq ($(findstring RTE_CRYPTO_SCHEDULER,$(CONFIG_DEFINES),) > $(info No crypto scheduler found) > else > ... > endif > > Whatever approach we use here, I'd like applicable across all makefiles for > consistency, and shelling out per-value seems wasteful. Pulling all macro > values also allows checks for architecture and instruction set levels too, > if so desired. I'll have a try.. -- David Marchand ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: fix build with pkg-config 2020-11-13 14:15 ` David Marchand @ 2020-11-13 15:41 ` David Marchand 2020-11-13 16:08 ` Bruce Richardson 0 siblings, 1 reply; 51+ messages in thread From: David Marchand @ 2020-11-13 15:41 UTC (permalink / raw) To: Bruce Richardson Cc: dev, Thomas Monjalon, Declan Doherty, Pablo de Lara, Akhil Goyal, Fiona Trahe, Fan Zhang On Fri, Nov 13, 2020 at 3:15 PM David Marchand <david.marchand@redhat.com> wrote: > > On Fri, Nov 13, 2020 at 2:53 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > +NEED_CRYPTO_SCHEDULER = $(shell echo RTE_CRYPTO_SCHEDULER | $(CPP) $(CFLAGS) -P - | tail -1) > > > +ifeq ($(NEED_CRYPTO_SCHEDULER), 1) > > > > Sorry for the last-minute comment, but I wonder for this check if we can do > > better by adding into each makefile something like: > > > > CONFIG_DEFINES=$(shell $(CC) $(CFLAGS) -dM -E - < /dev/null) > > > > Then we can easily do multiple checks for vars as needed using findstring, > > e.g. > > > > ifeq ($(findstring RTE_CRYPTO_SCHEDULER,$(CONFIG_DEFINES),) > > $(info No crypto scheduler found) > > else > > ... > > endif > > > > Whatever approach we use here, I'd like applicable across all makefiles for > > consistency, and shelling out per-value seems wasteful. Pulling all macro > > values also allows checks for architecture and instruction set levels too, > > if so desired. --- a/examples/l2fwd-crypto/Makefile +++ b/examples/l2fwd-crypto/Makefile @@ -23,9 +23,15 @@ PKGCONF ?= pkg-config PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) +CONFIG_DEFINES = $(shell $(CC) $(CFLAGS) -dM -E - < /dev/null) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) +ifneq ($(findstring RTE_CRYPTO_SCHEDULER,$(CONFIG_DEFINES)),) +LDFLAGS_SHARED += -lrte_crypto_scheduler +endif LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) I'll send a v3 later. -- David Marchand ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: fix build with pkg-config 2020-11-13 15:41 ` David Marchand @ 2020-11-13 16:08 ` Bruce Richardson 0 siblings, 0 replies; 51+ messages in thread From: Bruce Richardson @ 2020-11-13 16:08 UTC (permalink / raw) To: David Marchand Cc: dev, Thomas Monjalon, Declan Doherty, Pablo de Lara, Akhil Goyal, Fiona Trahe, Fan Zhang On Fri, Nov 13, 2020 at 04:41:52PM +0100, David Marchand wrote: > On Fri, Nov 13, 2020 at 3:15 PM David Marchand > <david.marchand@redhat.com> wrote: > > > > On Fri, Nov 13, 2020 at 2:53 PM Bruce Richardson > > <bruce.richardson@intel.com> wrote: > > > > +NEED_CRYPTO_SCHEDULER = $(shell echo RTE_CRYPTO_SCHEDULER | $(CPP) $(CFLAGS) -P - | tail -1) > > > > +ifeq ($(NEED_CRYPTO_SCHEDULER), 1) > > > > > > Sorry for the last-minute comment, but I wonder for this check if we can do > > > better by adding into each makefile something like: > > > > > > CONFIG_DEFINES=$(shell $(CC) $(CFLAGS) -dM -E - < /dev/null) > > > > > > Then we can easily do multiple checks for vars as needed using findstring, > > > e.g. > > > > > > ifeq ($(findstring RTE_CRYPTO_SCHEDULER,$(CONFIG_DEFINES),) > > > $(info No crypto scheduler found) > > > else > > > ... > > > endif > > > > > > Whatever approach we use here, I'd like applicable across all makefiles for > > > consistency, and shelling out per-value seems wasteful. Pulling all macro > > > values also allows checks for architecture and instruction set levels too, > > > if so desired. > > --- a/examples/l2fwd-crypto/Makefile > +++ b/examples/l2fwd-crypto/Makefile > @@ -23,9 +23,15 @@ PKGCONF ?= pkg-config > > PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) > CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) > +CONFIG_DEFINES = $(shell $(CC) $(CFLAGS) -dM -E - < /dev/null) > LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) > +ifneq ($(findstring RTE_CRYPTO_SCHEDULER,$(CONFIG_DEFINES)),) > +LDFLAGS_SHARED += -lrte_crypto_scheduler > +endif > LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) > Can we perhaps keep the existing pkg-config query lines together in the existing block, and just add the extra checks for this particular app afterwards? Having done changes en-mass to the example makefiles a couple of times, it was made a lot easier by having the exact same lines in each as much as possible, allowing changes to be made by applying a single patch-file to each makefile in turn. ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 05/11] examples/l3fwd-graph: fix static build 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand ` (3 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: " David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 06/11] examples/ntb: fix clean target David Marchand ` (5 subsequent siblings) 10 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram This example missed the rework from commit 8549295db07b ("build/pkg-config: improve static linking flags"). Fixes: 08bd1a174461 ("examples/l3fwd-graph: add graph-based l3fwd skeleton") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/l3fwd-graph/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/l3fwd-graph/Makefile b/examples/l3fwd-graph/Makefile index 368ac21147..1e4f0600ae 100644 --- a/examples/l3fwd-graph/Makefile +++ b/examples/l3fwd-graph/Makefile @@ -24,7 +24,7 @@ PKGCONF=pkg-config --define-prefix PC_FILE := $(shell $(PKGCONF) --path libdpdk) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) -DALLOW_EXPERIMENTAL_API LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) -LDFLAGS_STATIC = -Wl,-Bstatic $(shell $(PKGCONF) --static --libs libdpdk) +LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 06/11] examples/ntb: fix clean target 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand ` (4 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 05/11] examples/l3fwd-graph: fix static build David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 07/11] examples/performance-thread: fix build with pkg-config David Marchand ` (4 subsequent siblings) 10 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Xiaoyun Li, Jingjing Wu, Xiaolong Ye When introducing this example, the cleanup from commit 7e9562a107f1 ("examples: fix make clean when using pkg-config") was missed. Fixes: c5eebf85badc ("examples/ntb: add example for NTB") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com> --- examples/ntb/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ntb/Makefile b/examples/ntb/Makefile index 4675570fd2..d35dabc471 100644 --- a/examples/ntb/Makefile +++ b/examples/ntb/Makefile @@ -42,4 +42,4 @@ build: .PHONY: clean clean: rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared - rmdir --ignore-fail-on-non-empty build + test -d build && rmdir -p build || true -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 07/11] examples/performance-thread: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand ` (5 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 06/11] examples/ntb: fix clean target David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 08/11] examples/vhost_blk: " David Marchand ` (3 subsequent siblings) 10 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, John McNamara, Tomasz Kulasek, Ian Betts main.c: In function ‘lthread_tx’: main.c:2091:25: error: implicit declaration of function ‘sched_getcpu’; did you mean ‘sched_getparam’? [-Werror=implicit-function-declaration] 2091 | tx_conf->conf.cpu_id = sched_getcpu(); | ^~~~~~~~~~~~ | sched_getparam cc1: all warnings being treated as errors Explicitly pass _GNU_SOURCE and include missing header (rather than rely on automagic inclusion from other system headers). Fixes: d48415e1fee3 ("examples/performance-thread: add l3fwd-thread app") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/performance-thread/l3fwd-thread/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c index 7bf61db6be..4d82fb82ef 100644 --- a/examples/performance-thread/l3fwd-thread/main.c +++ b/examples/performance-thread/l3fwd-thread/main.c @@ -2,6 +2,10 @@ * Copyright(c) 2010-2016 Intel Corporation */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif + #include <stdio.h> #include <stdlib.h> #include <stdint.h> @@ -12,6 +16,7 @@ #include <stdarg.h> #include <errno.h> #include <getopt.h> +#include <sched.h> #include <rte_common.h> #include <rte_vect.h> -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 08/11] examples/vhost_blk: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand ` (6 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 07/11] examples/performance-thread: fix build with pkg-config David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 13:00 ` Maxime Coquelin 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 09/11] examples/rxtx_callbacks: " David Marchand ` (2 subsequent siblings) 10 siblings, 1 reply; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson, Maxime Coquelin, Chenbo Xia, Jin Yu vhost_blk.c: In function ‘ctrlr_worker’: vhost_blk.c:543:2: warning: implicit declaration of function ‘CPU_ZERO’ [-Wimplicit-function-declaration] 543 | CPU_ZERO(&cpuset); | ^~~~~~~~ vhost_blk.c:544:2: warning: implicit declaration of function ‘CPU_SET’ [-Wimplicit-function-declaration] 544 | CPU_SET(0, &cpuset); | ^~~~~~~ vhost_blk.c:545:2: warning: implicit declaration of function ‘pthread_setaffinity_np’ [-Wimplicit-function-declaration] 545 | pthread_setaffinity_np(thread, sizeof(cpu_set_t), &cpuset); | ^~~~~~~~~~~~~~~~~~~~~~ /usr/bin/ld: /tmp/cczpiMWH.o: in function `ctrlr_worker': vhost_blk.c:(.text+0x1076): undefined reference to `CPU_ZERO' /usr/bin/ld: vhost_blk.c:(.text+0x1082): undefined reference to `CPU_SET' collect2: error: ld returned 1 exit status gmake: *** [Makefile:34: build/vhost-blk-shared] Error 1 Explicitly pass _GNU_SOURCE and include missing headers (rather than rely on automagic inclusion from other system headers). Fixes: c19beb3f38cd ("examples/vhost_blk: introduce vhost storage sample") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/vhost_blk/vhost_blk.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/vhost_blk/vhost_blk.c b/examples/vhost_blk/vhost_blk.c index 8f5d61a589..bb293d492f 100644 --- a/examples/vhost_blk/vhost_blk.c +++ b/examples/vhost_blk/vhost_blk.c @@ -2,6 +2,12 @@ * Copyright(c) 2010-2019 Intel Corporation */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#include <pthread.h> +#include <sched.h> + #include <stdint.h> #include <unistd.h> #include <stdbool.h> -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 08/11] examples/vhost_blk: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 08/11] examples/vhost_blk: " David Marchand @ 2020-11-13 13:00 ` Maxime Coquelin 0 siblings, 0 replies; 51+ messages in thread From: Maxime Coquelin @ 2020-11-13 13:00 UTC (permalink / raw) To: David Marchand, dev; +Cc: thomas, bruce.richardson, Chenbo Xia, Jin Yu On 11/13/20 1:24 PM, David Marchand wrote: > vhost_blk.c: In function ‘ctrlr_worker’: > vhost_blk.c:543:2: warning: implicit declaration of function ‘CPU_ZERO’ > [-Wimplicit-function-declaration] > 543 | CPU_ZERO(&cpuset); > | ^~~~~~~~ > vhost_blk.c:544:2: warning: implicit declaration of function ‘CPU_SET’ > [-Wimplicit-function-declaration] > 544 | CPU_SET(0, &cpuset); > | ^~~~~~~ > vhost_blk.c:545:2: warning: implicit declaration of function > ‘pthread_setaffinity_np’ [-Wimplicit-function-declaration] > 545 | pthread_setaffinity_np(thread, sizeof(cpu_set_t), &cpuset); > | ^~~~~~~~~~~~~~~~~~~~~~ > /usr/bin/ld: /tmp/cczpiMWH.o: in function `ctrlr_worker': > vhost_blk.c:(.text+0x1076): undefined reference to `CPU_ZERO' > /usr/bin/ld: vhost_blk.c:(.text+0x1082): undefined reference to > `CPU_SET' > collect2: error: ld returned 1 exit status > gmake: *** [Makefile:34: build/vhost-blk-shared] Error 1 > > Explicitly pass _GNU_SOURCE and include missing headers (rather than > rely on automagic inclusion from other system headers). > > Fixes: c19beb3f38cd ("examples/vhost_blk: introduce vhost storage sample") > > Signed-off-by: David Marchand <david.marchand@redhat.com> > Acked-by: Bruce Richardson <bruce.richardson@intel.com> > --- > examples/vhost_blk/vhost_blk.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/examples/vhost_blk/vhost_blk.c b/examples/vhost_blk/vhost_blk.c > index 8f5d61a589..bb293d492f 100644 > --- a/examples/vhost_blk/vhost_blk.c > +++ b/examples/vhost_blk/vhost_blk.c > @@ -2,6 +2,12 @@ > * Copyright(c) 2010-2019 Intel Corporation > */ > > +#ifndef _GNU_SOURCE > +#define _GNU_SOURCE > +#endif > +#include <pthread.h> > +#include <sched.h> > + > #include <stdint.h> > #include <unistd.h> > #include <stdbool.h> > Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 09/11] examples/rxtx_callbacks: fix build with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand ` (7 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 08/11] examples/vhost_blk: " David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 10/11] examples: restore trace point David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config David Marchand 10 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, John McNamara, Ferruh Yigit, Tom Barbette This example is missing the experimental flag since it uses an experimental API. Fixes: cd1dadeb9b2a ("examples/rxtx_callbacks: support HW timestamp") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/rxtx_callbacks/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/rxtx_callbacks/Makefile b/examples/rxtx_callbacks/Makefile index bac3015d34..a618cdf751 100644 --- a/examples/rxtx_callbacks/Makefile +++ b/examples/rxtx_callbacks/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 10/11] examples: restore trace point 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand ` (8 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 09/11] examples/rxtx_callbacks: " David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config David Marchand 10 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Olivier Matz, David Hunt, Ori Kam, Konstantin Ananyev, Tomasz Kantecki, Sunil Kumar Kori, Pavan Nikhilesh, Anatoly Burakov, Reshma Pattan, Kirill Rybalchenko, Cristian Dumitrescu, Jasvinder Singh, Byron Marohn, Yipeng Wang, Harry van Haaren, John McNamara, Robert Sanford, Erik Gabriel Carrillo Before make removal, those examples were built with experimental flag for tracepoints to be compiled in but the pkg-config part of those makefiles were missed. Fixes: 78d44153de8f ("ethdev: add tracepoints") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/cmdline/Makefile | 2 ++ examples/distributor/Makefile | 2 ++ examples/ethtool/ethtool-app/Makefile | 2 ++ examples/flow_filtering/Makefile | 2 ++ examples/helloworld/Makefile | 2 ++ examples/ioat/Makefile | 2 ++ examples/ip_reassembly/Makefile | 2 ++ examples/ipv4_multicast/Makefile | 2 ++ examples/l2fwd-cat/Makefile | 2 ++ examples/l2fwd-event/Makefile | 2 ++ examples/l2fwd-jobstats/Makefile | 2 ++ examples/l2fwd-keepalive/Makefile | 2 ++ examples/l2fwd-keepalive/ka-agent/Makefile | 2 ++ examples/l3fwd-acl/Makefile | 2 ++ examples/link_status_interrupt/Makefile | 2 ++ examples/multi_process/client_server_mp/mp_client/Makefile | 2 ++ examples/multi_process/client_server_mp/mp_server/Makefile | 2 ++ examples/multi_process/hotplug_mp/Makefile | 2 ++ examples/multi_process/simple_mp/Makefile | 2 ++ examples/multi_process/symmetric_mp/Makefile | 2 ++ examples/packet_ordering/Makefile | 2 ++ examples/ptpclient/Makefile | 2 ++ examples/qos_sched/Makefile | 2 ++ examples/server_node_efd/node/Makefile | 2 ++ examples/server_node_efd/server/Makefile | 2 ++ examples/service_cores/Makefile | 2 ++ examples/skeleton/Makefile | 2 ++ examples/timer/Makefile | 2 ++ examples/vm_power_manager/Makefile | 2 ++ examples/vm_power_manager/guest_cli/Makefile | 2 ++ examples/vmdq/Makefile | 2 ++ examples/vmdq_dcb/Makefile | 2 ++ 32 files changed, 64 insertions(+) diff --git a/examples/cmdline/Makefile b/examples/cmdline/Makefile index d8f51fb39b..09da84ba0b 100644 --- a/examples/cmdline/Makefile +++ b/examples/cmdline/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/distributor/Makefile b/examples/distributor/Makefile index 4116064581..d7615f9a32 100644 --- a/examples/distributor/Makefile +++ b/examples/distributor/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile index 5ebeb200a8..93ef5c27c3 100644 --- a/examples/ethtool/ethtool-app/Makefile +++ b/examples/ethtool/ethtool-app/Makefile @@ -31,6 +31,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED += $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC += $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/flow_filtering/Makefile b/examples/flow_filtering/Makefile index 0577e52985..9bc9179346 100644 --- a/examples/flow_filtering/Makefile +++ b/examples/flow_filtering/Makefile @@ -24,6 +24,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/helloworld/Makefile b/examples/helloworld/Makefile index 2eef6e4527..436569f5a6 100644 --- a/examples/helloworld/Makefile +++ b/examples/helloworld/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ioat/Makefile b/examples/ioat/Makefile index 9645c27d2f..c13ad8d8af 100644 --- a/examples/ioat/Makefile +++ b/examples/ioat/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ip_reassembly/Makefile b/examples/ip_reassembly/Makefile index 479b802907..740f4721d0 100644 --- a/examples/ip_reassembly/Makefile +++ b/examples/ip_reassembly/Makefile @@ -27,6 +27,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ipv4_multicast/Makefile b/examples/ipv4_multicast/Makefile index fb1ebdd433..7ea44e6f63 100644 --- a/examples/ipv4_multicast/Makefile +++ b/examples/ipv4_multicast/Makefile @@ -27,6 +27,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile index c5f82fb548..9ba1135612 100644 --- a/examples/l2fwd-cat/Makefile +++ b/examples/l2fwd-cat/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + LDFLAGS += -lpqos build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build diff --git a/examples/l2fwd-event/Makefile b/examples/l2fwd-event/Makefile index 109b7caa4e..384224b24a 100644 --- a/examples/l2fwd-event/Makefile +++ b/examples/l2fwd-event/Makefile @@ -32,6 +32,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-jobstats/Makefile b/examples/l2fwd-jobstats/Makefile index d3ff2d3ee9..fcb60b2a33 100644 --- a/examples/l2fwd-jobstats/Makefile +++ b/examples/l2fwd-jobstats/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-keepalive/Makefile b/examples/l2fwd-keepalive/Makefile index c327efab36..09a891149b 100644 --- a/examples/l2fwd-keepalive/Makefile +++ b/examples/l2fwd-keepalive/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-keepalive/ka-agent/Makefile b/examples/l2fwd-keepalive/ka-agent/Makefile index 700137c2e2..8b329a78b1 100644 --- a/examples/l2fwd-keepalive/ka-agent/Makefile +++ b/examples/l2fwd-keepalive/ka-agent/Makefile @@ -30,6 +30,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l3fwd-acl/Makefile b/examples/l3fwd-acl/Makefile index eeb6288dae..3420ea3a9c 100644 --- a/examples/l3fwd-acl/Makefile +++ b/examples/l3fwd-acl/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/link_status_interrupt/Makefile b/examples/link_status_interrupt/Makefile index b9b02124a4..fa608c56a0 100644 --- a/examples/link_status_interrupt/Makefile +++ b/examples/link_status_interrupt/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/client_server_mp/mp_client/Makefile b/examples/multi_process/client_server_mp/mp_client/Makefile index b723e545b7..bc00a1c875 100644 --- a/examples/multi_process/client_server_mp/mp_client/Makefile +++ b/examples/multi_process/client_server_mp/mp_client/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/client_server_mp/mp_server/Makefile b/examples/multi_process/client_server_mp/mp_server/Makefile index f49260a256..d066524b36 100644 --- a/examples/multi_process/client_server_mp/mp_server/Makefile +++ b/examples/multi_process/client_server_mp/mp_server/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/hotplug_mp/Makefile b/examples/multi_process/hotplug_mp/Makefile index 2c023a73d8..3122449d62 100644 --- a/examples/multi_process/hotplug_mp/Makefile +++ b/examples/multi_process/hotplug_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/simple_mp/Makefile b/examples/multi_process/simple_mp/Makefile index 410f8b5368..d03597c4c2 100644 --- a/examples/multi_process/simple_mp/Makefile +++ b/examples/multi_process/simple_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/symmetric_mp/Makefile b/examples/multi_process/symmetric_mp/Makefile index df69ecabe7..45b7214cba 100644 --- a/examples/multi_process/symmetric_mp/Makefile +++ b/examples/multi_process/symmetric_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/packet_ordering/Makefile b/examples/packet_ordering/Makefile index e8d6c57b72..09abda91ea 100644 --- a/examples/packet_ordering/Makefile +++ b/examples/packet_ordering/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ptpclient/Makefile b/examples/ptpclient/Makefile index 86059d8b28..9f56a5e7a0 100644 --- a/examples/ptpclient/Makefile +++ b/examples/ptpclient/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile index 408074a9f5..f42406fe1c 100644 --- a/examples/qos_sched/Makefile +++ b/examples/qos_sched/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/server_node_efd/node/Makefile b/examples/server_node_efd/node/Makefile index a4efef42dc..2120de5397 100644 --- a/examples/server_node_efd/node/Makefile +++ b/examples/server_node_efd/node/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/server_node_efd/server/Makefile b/examples/server_node_efd/server/Makefile index 106e1abd74..6b5878d8c0 100644 --- a/examples/server_node_efd/server/Makefile +++ b/examples/server_node_efd/server/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/service_cores/Makefile b/examples/service_cores/Makefile index beb7ea0b82..754333c878 100644 --- a/examples/service_cores/Makefile +++ b/examples/service_cores/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/skeleton/Makefile b/examples/skeleton/Makefile index ca52abba42..4fa97cb975 100644 --- a/examples/skeleton/Makefile +++ b/examples/skeleton/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/timer/Makefile b/examples/timer/Makefile index 0f6523afa6..70b1af9f4b 100644 --- a/examples/timer/Makefile +++ b/examples/timer/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vm_power_manager/Makefile b/examples/vm_power_manager/Makefile index 027d17c7ef..8ac1180b2f 100644 --- a/examples/vm_power_manager/Makefile +++ b/examples/vm_power_manager/Makefile @@ -32,6 +32,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + ifneq ($(shell $(PKGCONF) --atleast-version=0.9.3 libvirt; echo $$?), 0) $(error vm_power_manager requires libvirt >= 0.9.3) endif diff --git a/examples/vm_power_manager/guest_cli/Makefile b/examples/vm_power_manager/guest_cli/Makefile index b84deec574..1ee1ca1017 100644 --- a/examples/vm_power_manager/guest_cli/Makefile +++ b/examples/vm_power_manager/guest_cli/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vmdq/Makefile b/examples/vmdq/Makefile index de527281eb..749ed53c6f 100644 --- a/examples/vmdq/Makefile +++ b/examples/vmdq/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vmdq_dcb/Makefile b/examples/vmdq_dcb/Makefile index 9c9049d85e..1dd42105d6 100644 --- a/examples/vmdq_dcb/Makefile +++ b/examples/vmdq_dcb/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand ` (9 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 10/11] examples: restore trace point David Marchand @ 2020-11-13 12:24 ` David Marchand 2020-11-13 12:37 ` David Marchand 2020-11-13 14:06 ` Bruce Richardson 10 siblings, 2 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:24 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson Rather than just installing all examples, we can use the build checks to filter out any examples that are missing dependencies or are otherwise unbuildable on the current system. Introduce a new "buildable" special value for the -Dexamples= meson option, this way existing behavior on installing all examples is preserved. Select only buildable examples and test their compilation for the x86-default target. Note for maintainers/users of the script: for existing environments, the x86-default target might get broken by this patch since the script now tries to build all "installed" examples and dependencies for some might be unfulfilled. To fix this temporary situation, you can either delete the whole directory or reconfigure it: $ meson configure $DPDK_BUILD_TEST_DIR/build-x86-default \ -Dexamples=buildable Suggested-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: David Marchand <david.marchand@redhat.com> --- Changelog since v1: - rebased on main, - introduced a new "buildable" special value for the -Dexamples option, - installation of the "multi-level" examples has been fixed, so corresponding exceptions have been removed, - a fix for the vhost is waiting in next-virtio, I assume it will get pulled before this series, - the only remaining exception is for vm_power_manager which is broken, --- devtools/test-meson-builds.sh | 11 +++++++++-- examples/meson.build | 24 ++++++++++++++++++++++-- meson.build | 2 ++ 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh index 3ce49368cf..a04f3eb7ff 100755 --- a/devtools/test-meson-builds.sh +++ b/devtools/test-meson-builds.sh @@ -213,7 +213,8 @@ default_machine='nehalem' if ! check_cc_flags "-march=$default_machine" ; then default_machine='corei7' fi -build build-x86-default cc -Dlibdir=lib -Dmachine=$default_machine $use_shared +build build-x86-default cc -Dlibdir=lib -Dmachine=$default_machine \ + -Dexamples=buildable $use_shared # 32-bit with default compiler if check_cc_flags '-m32' ; then @@ -266,10 +267,16 @@ pc_file=$(find $DESTDIR -name libdpdk.pc) export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH libdir=$(dirname $(find $DESTDIR -name librte_eal.so)) export LD_LIBRARY_PATH=$libdir:$LD_LIBRARY_PATH -examples=${DPDK_BUILD_TEST_EXAMPLES:-"cmdline helloworld l2fwd l3fwd skeleton timer"} # if pkg-config defines the necessary flags, test building some examples if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then export PKGCONF="pkg-config --define-prefix" + examples=${DPDK_BUILD_TEST_EXAMPLES:-} + if [ -z "$examples" ]; then + for mk in $DESTDIR/usr/local/share/dpdk/examples/*/Makefile; do + name=$(basename $(dirname $mk)) + examples="$examples $name" + done + fi for example in $examples; do echo "## Building $example" $MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example \ diff --git a/examples/meson.build b/examples/meson.build index 46ec80919e..a23ab79e8c 100644 --- a/examples/meson.build +++ b/examples/meson.build @@ -55,9 +55,18 @@ endif if get_option('examples').to_lower() == 'all' examples = all_examples allow_skips = true # don't flag an error if we can't build an app + install_buildable = false +elif get_option('examples').to_lower() == 'buildable' + examples = all_examples + allow_skips = true + install_buildable = true # only install examples that can be built + # FIXME: vm_power_manager relies on an internal header and can't build + # outside dpdk tree. + dpdk_examples_exclude += ['vm_power_manager'] else examples = get_option('examples').split(',') allow_skips = false # error out if we can't build a requested app + install_buildable = false endif default_cflags = machine_args if cc.has_argument('-Wno-format-truncation') @@ -81,10 +90,15 @@ foreach example: examples foreach d:deps var_name = get_option('default_library') + '_rte_' + d if not is_variable(var_name) - error('Missing dependency "@0@" for example "@1@"'.format(d, name)) + message('Missing dependency "@0@" for example "@1@"'.format(d, name)) + build = false + else + dep_objs += [get_variable(var_name)] endif - dep_objs += [get_variable(var_name)] endforeach + endif + + if build if allow_experimental_apis cflags += '-DALLOW_EXPERIMENTAL_API' endif @@ -98,5 +112,11 @@ foreach example: examples error('Cannot build requested example "' + name + '"') else message('Skipping example "' + name + '"') + if install_buildable + # exclude based on top-level directory only + dir = example.split('/')[0] + dpdk_examples_exclude += dir + message('Excluding example directory "@0@" from install'.format(dir)) + endif endif endforeach diff --git a/meson.build b/meson.build index 45d974cd2c..559a9d2f1b 100644 --- a/meson.build +++ b/meson.build @@ -58,9 +58,11 @@ subdir('doc') # build any examples explicitly requested - useful for developers - and # install any example code into the appropriate install path +dpdk_examples_exclude = [] subdir('examples') install_subdir('examples', install_dir: get_option('datadir') + '/dpdk', + exclude_directories: dpdk_examples_exclude, exclude_files: 'meson.build') # build kernel modules if enabled -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config David Marchand @ 2020-11-13 12:37 ` David Marchand 2020-11-13 14:06 ` Bruce Richardson 1 sibling, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-13 12:37 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev, Bruce Richardson Thomas, On Fri, Nov 13, 2020 at 1:28 PM David Marchand <david.marchand@redhat.com> wrote: > - a fix for the vhost is waiting in next-virtio, I assume it will get > pulled before this series, If next-virtio is not pulled yet, we can add a temp: dpdk_examples_exclude += ['vhost'] -- David Marchand ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config David Marchand 2020-11-13 12:37 ` David Marchand @ 2020-11-13 14:06 ` Bruce Richardson 2020-11-13 14:14 ` David Marchand 1 sibling, 1 reply; 51+ messages in thread From: Bruce Richardson @ 2020-11-13 14:06 UTC (permalink / raw) To: David Marchand; +Cc: dev, thomas, bluca On Fri, Nov 13, 2020 at 01:24:30PM +0100, David Marchand wrote: > Rather than just installing all examples, we can use the build checks to > filter out any examples that are missing dependencies or are otherwise > unbuildable on the current system. > Introduce a new "buildable" special value for the -Dexamples= meson > option, this way existing behavior on installing all examples is > preserved. > > Select only buildable examples and test their compilation for the > x86-default target. > > Note for maintainers/users of the script: for existing environments, > the x86-default target might get broken by this patch since the script > now tries to build all "installed" examples and dependencies for some > might be unfulfilled. > To fix this temporary situation, you can either delete the whole > directory or reconfigure it: > $ meson configure $DPDK_BUILD_TEST_DIR/build-x86-default \ > -Dexamples=buildable > > Suggested-by: Bruce Richardson <bruce.richardson@intel.com> > Signed-off-by: David Marchand <david.marchand@redhat.com> > --- > Changelog since v1: > - rebased on main, > - introduced a new "buildable" special value for the -Dexamples option, > - installation of the "multi-level" examples has been fixed, so > corresponding exceptions have been removed, > - a fix for the vhost is waiting in next-virtio, I assume it will get > pulled before this series, > - the only remaining exception is for vm_power_manager which is broken, > > --- I'm not sure my "suggested-by" should be on this, since the idea of adding an extra buildable option is not mine here. I actually think I prefer the previous approach based on your original suggestion of always skipping unbuildable examples. Two reasons for that: * I'm not fully sure of the value of installing examples that can't be built, which was the original issue you raised. * I don't like mixing together two separate things - examples to build, and examples to install in a single option. Therefore, I think we should choose one of two less confusing paths - either lets just always install all applications, or let's always install only those apps which can be built. I'm not massively concerned either way which is chosen, but I don't think we should try and support both and overload options to do so. /Bruce ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config 2020-11-13 14:06 ` Bruce Richardson @ 2020-11-13 14:14 ` David Marchand 2020-11-13 14:24 ` Bruce Richardson 0 siblings, 1 reply; 51+ messages in thread From: David Marchand @ 2020-11-13 14:14 UTC (permalink / raw) To: Bruce Richardson; +Cc: dev, Thomas Monjalon, Luca Boccassi On Fri, Nov 13, 2020 at 3:06 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Fri, Nov 13, 2020 at 01:24:30PM +0100, David Marchand wrote: > > Rather than just installing all examples, we can use the build checks to > > filter out any examples that are missing dependencies or are otherwise > > unbuildable on the current system. > > Introduce a new "buildable" special value for the -Dexamples= meson > > option, this way existing behavior on installing all examples is > > preserved. > > > > Select only buildable examples and test their compilation for the > > x86-default target. > > > > Note for maintainers/users of the script: for existing environments, > > the x86-default target might get broken by this patch since the script > > now tries to build all "installed" examples and dependencies for some > > might be unfulfilled. > > To fix this temporary situation, you can either delete the whole > > directory or reconfigure it: > > $ meson configure $DPDK_BUILD_TEST_DIR/build-x86-default \ > > -Dexamples=buildable > > > > Suggested-by: Bruce Richardson <bruce.richardson@intel.com> > > Signed-off-by: David Marchand <david.marchand@redhat.com> > > --- > > Changelog since v1: > > - rebased on main, > > - introduced a new "buildable" special value for the -Dexamples option, > > - installation of the "multi-level" examples has been fixed, so > > corresponding exceptions have been removed, > > - a fix for the vhost is waiting in next-virtio, I assume it will get > > pulled before this series, > > - the only remaining exception is for vm_power_manager which is broken, > > > > --- > I'm not sure my "suggested-by" should be on this, since the idea of adding I was not sure how to credit my copying of the meson bits :-). > an extra buildable option is not mine here. I actually think I prefer the > previous approach based on your original suggestion of always skipping > unbuildable examples. Two reasons for that: > * I'm not fully sure of the value of installing examples that can't be > built, which was the original issue you raised. Thomas objected that all examples have always been provided regardless of the configuration. The examples serve as documentation and the API/guides documentations are all compiled anyway. > * I don't like mixing together two separate things - examples to build, and > examples to install in a single option. Yes, I am not entirely happy either. Time is ticking, I'll just drop this patch for 20.11. -- David Marchand ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config 2020-11-13 14:14 ` David Marchand @ 2020-11-13 14:24 ` Bruce Richardson 0 siblings, 0 replies; 51+ messages in thread From: Bruce Richardson @ 2020-11-13 14:24 UTC (permalink / raw) To: David Marchand; +Cc: dev, Thomas Monjalon, Luca Boccassi On Fri, Nov 13, 2020 at 03:14:14PM +0100, David Marchand wrote: > On Fri, Nov 13, 2020 at 3:06 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > On Fri, Nov 13, 2020 at 01:24:30PM +0100, David Marchand wrote: > > > Rather than just installing all examples, we can use the build checks to > > > filter out any examples that are missing dependencies or are otherwise > > > unbuildable on the current system. > > > Introduce a new "buildable" special value for the -Dexamples= meson > > > option, this way existing behavior on installing all examples is > > > preserved. > > > > > > Select only buildable examples and test their compilation for the > > > x86-default target. > > > > > > Note for maintainers/users of the script: for existing environments, > > > the x86-default target might get broken by this patch since the script > > > now tries to build all "installed" examples and dependencies for some > > > might be unfulfilled. > > > To fix this temporary situation, you can either delete the whole > > > directory or reconfigure it: > > > $ meson configure $DPDK_BUILD_TEST_DIR/build-x86-default \ > > > -Dexamples=buildable > > > > > > Suggested-by: Bruce Richardson <bruce.richardson@intel.com> > > > Signed-off-by: David Marchand <david.marchand@redhat.com> > > > --- > > > Changelog since v1: > > > - rebased on main, > > > - introduced a new "buildable" special value for the -Dexamples option, > > > - installation of the "multi-level" examples has been fixed, so > > > corresponding exceptions have been removed, > > > - a fix for the vhost is waiting in next-virtio, I assume it will get > > > pulled before this series, > > > - the only remaining exception is for vm_power_manager which is broken, > > > > > > --- > > I'm not sure my "suggested-by" should be on this, since the idea of adding > > I was not sure how to credit my copying of the meson bits :-). > > > > an extra buildable option is not mine here. I actually think I prefer the > > previous approach based on your original suggestion of always skipping > > unbuildable examples. Two reasons for that: > > * I'm not fully sure of the value of installing examples that can't be > > built, which was the original issue you raised. > > Thomas objected that all examples have always been provided regardless > of the configuration. > The examples serve as documentation and the API/guides documentations > are all compiled anyway. > Since we are looking to start adding in checks for features into the example makefiles, I'd go with continuing the policy of just shipping them all [1]. Over time we can update the makefiles to start adding proper build error messages with explanations in cases where examples are missing dependencies. /Bruce [1] http://patches.dpdk.org/patch/83911/ ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand ` (11 preceding siblings ...) 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 01/11] examples/fips_validation: fix build with pkg-config David Marchand ` (11 more replies) 12 siblings, 12 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson I tested external compilation for all possible examples (in my env). The result is this series. -- David Marchand Changelog since v2: - reworked patch 4 check on crypto driver availability, - added patch 5 to fix misalignment with other examples makefiles, - dropped last patch on checking all examples, Changelog since v1: - added patch 7 to fix performance-thread example, - reworked last patch by introducing a new -Dexamples=buildall special value and removed exceptions for examples recently fixed in main thanks to Bruce, David Marchand (11): examples/fips_validation: fix build with pkg-config examples/ipsec-gw: fix build with pkg-config examples/kni: fix build with pkg-config examples/l2fwd-crypto: fix build with pkg-config examples/l3fwd-graph: fix static build examples/l3fwd-graph: fix pkg-config usage examples/ntb: fix clean target examples/performance-thread: fix build with pkg-config examples/vhost_blk: fix build with pkg-config examples/rxtx_callbacks: fix build with pkg-config examples: restore trace point examples/cmdline/Makefile | 2 ++ examples/distributor/Makefile | 2 ++ examples/ethtool/ethtool-app/Makefile | 2 ++ examples/eventdev_pipeline/Makefile | 2 ++ examples/fips_validation/Makefile | 2 ++ examples/flow_filtering/Makefile | 2 ++ examples/helloworld/Makefile | 2 ++ examples/ioat/Makefile | 2 ++ examples/ip_reassembly/Makefile | 2 ++ examples/ipsec-secgw/Makefile | 1 + examples/ipv4_multicast/Makefile | 2 ++ examples/kni/Makefile | 2 ++ examples/l2fwd-cat/Makefile | 2 ++ examples/l2fwd-crypto/Makefile | 6 ++++++ examples/l2fwd-event/Makefile | 2 ++ examples/l2fwd-jobstats/Makefile | 2 ++ examples/l2fwd-keepalive/Makefile | 2 ++ examples/l2fwd-keepalive/ka-agent/Makefile | 2 ++ examples/l3fwd-acl/Makefile | 2 ++ examples/l3fwd-graph/Makefile | 6 +++--- examples/link_status_interrupt/Makefile | 2 ++ examples/multi_process/client_server_mp/mp_client/Makefile | 2 ++ examples/multi_process/client_server_mp/mp_server/Makefile | 2 ++ examples/multi_process/hotplug_mp/Makefile | 2 ++ examples/multi_process/simple_mp/Makefile | 2 ++ examples/multi_process/symmetric_mp/Makefile | 2 ++ examples/ntb/Makefile | 2 +- examples/packet_ordering/Makefile | 2 ++ examples/performance-thread/l3fwd-thread/main.c | 5 +++++ examples/ptpclient/Makefile | 2 ++ examples/qos_sched/Makefile | 2 ++ examples/rxtx_callbacks/Makefile | 2 ++ examples/server_node_efd/node/Makefile | 2 ++ examples/server_node_efd/server/Makefile | 2 ++ examples/service_cores/Makefile | 2 ++ examples/skeleton/Makefile | 2 ++ examples/timer/Makefile | 2 ++ examples/vhost_blk/vhost_blk.c | 6 ++++++ examples/vm_power_manager/Makefile | 2 ++ examples/vm_power_manager/guest_cli/Makefile | 2 ++ examples/vmdq/Makefile | 2 ++ examples/vmdq_dcb/Makefile | 2 ++ 42 files changed, 94 insertions(+), 4 deletions(-) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 01/11] examples/fips_validation: fix build with pkg-config 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 02/11] examples/ipsec-gw: " David Marchand ` (10 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Marko Kovacevic, Akhil Goyal, Fiona Trahe, Fan Zhang When this example started using rte_cryptodev_sym_session_pool_create, the part for pkg-config builds was not updated. Fixes: 261bbff75e34 ("examples: use separate crypto session mempools") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/fips_validation/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/fips_validation/Makefile b/examples/fips_validation/Makefile index 7ba9bcfea6..8f82a4c6c5 100644 --- a/examples/fips_validation/Makefile +++ b/examples/fips_validation/Makefile @@ -36,6 +36,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 02/11] examples/ipsec-gw: fix build with pkg-config 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 01/11] examples/fips_validation: fix build with pkg-config David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 03/11] examples/kni: " David Marchand ` (9 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Radu Nicolau, Akhil Goyal, Anoob Joseph flow.c: In function ‘parse_flow_tokens’: flow.c:153:23: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 153 | if (ipv4_addr_cpy(&rule->ipv4.spec.hdr.src_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:154:9: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 154 | &rule->ipv4.mask.hdr.src_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:170:23: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 170 | if (ipv4_addr_cpy(&rule->ipv4.spec.hdr.dst_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flow.c:171:9: error: taking address of packed member of ‘struct rte_ipv4_hdr’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 171 | &rule->ipv4.mask.hdr.dst_addr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Meson build is fine since we waive those warnings. Replicate it for make. Fixes: 8e693616fcb2 ("examples/ipsec-secgw: enable flow based distribution") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/ipsec-secgw/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/ipsec-secgw/Makefile b/examples/ipsec-secgw/Makefile index 5e6cb51eac..7670cc3684 100644 --- a/examples/ipsec-secgw/Makefile +++ b/examples/ipsec-secgw/Makefile @@ -42,6 +42,7 @@ LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) CFLAGS += -DALLOW_EXPERIMENTAL_API +CFLAGS += -Wno-address-of-packed-member build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 03/11] examples/kni: fix build with pkg-config 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 01/11] examples/fips_validation: fix build with pkg-config David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 02/11] examples/ipsec-gw: " David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 04/11] examples/l2fwd-crypto: " David Marchand ` (8 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson, stable, Ferruh Yigit, Dan Gora rm -f build/kni build/kni-static build/kni-shared test -d build && rmdir -p build || true [...] /usr/bin/ld: /tmp/cc72ssnK.o: undefined reference to symbol 'pthread_join@@GLIBC_2.2.5' This example explicitly call pthread API and should be linked against the pthread library. Fixes: 724beb913b44 ("examples/kni: monitor and update link state continually") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/kni/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/kni/Makefile b/examples/kni/Makefile index fa9fa85319..bbf3bcae12 100644 --- a/examples/kni/Makefile +++ b/examples/kni/Makefile @@ -27,6 +27,8 @@ CFLAGS += -DALLOW_EXPERIMENTAL_API LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +LDFLAGS += -pthread + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 04/11] examples/l2fwd-crypto: fix build with pkg-config 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (2 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 03/11] examples/kni: " David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 05/11] examples/l3fwd-graph: fix static build David Marchand ` (7 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Declan Doherty, Pablo de Lara, Akhil Goyal, Fiona Trahe, Fan Zhang Two issues fixed here. First add the experimental flag. Then fix a link issue with the crypto scheduler driver: /usr/bin/ld: /tmp/cchr7aHA.o: in function `main': main.c:(.text.startup+0x1673): undefined reference to `rte_cryptodev_scheduler_workers_get' collect2: error: ld returned 1 exit status Fixes: e3bcb99a5e13 ("examples/l2fwd-crypto: limit number of sessions") Fixes: 261bbff75e34 ("examples: use separate crypto session mempools") Signed-off-by: David Marchand <david.marchand@redhat.com> --- Changelog since v2: - reworked config check, --- examples/l2fwd-crypto/Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/l2fwd-crypto/Makefile b/examples/l2fwd-crypto/Makefile index 4953ee2b95..7731eccd03 100644 --- a/examples/l2fwd-crypto/Makefile +++ b/examples/l2fwd-crypto/Makefile @@ -26,6 +26,12 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API +CONFIG_DEFINES = $(shell $(CC) $(CFLAGS) -dM -E - < /dev/null) +ifneq ($(findstring RTE_CRYPTO_SCHEDULER,$(CONFIG_DEFINES)),) +LDFLAGS_SHARED += -lrte_crypto_scheduler +endif + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 05/11] examples/l3fwd-graph: fix static build 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (3 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 04/11] examples/l2fwd-crypto: " David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 06/11] examples/l3fwd-graph: fix pkg-config usage David Marchand ` (6 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram This example missed the rework from commit 8549295db07b ("build/pkg-config: improve static linking flags"). Fixes: 08bd1a174461 ("examples/l3fwd-graph: add graph-based l3fwd skeleton") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/l3fwd-graph/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/l3fwd-graph/Makefile b/examples/l3fwd-graph/Makefile index 368ac21147..1e4f0600ae 100644 --- a/examples/l3fwd-graph/Makefile +++ b/examples/l3fwd-graph/Makefile @@ -24,7 +24,7 @@ PKGCONF=pkg-config --define-prefix PC_FILE := $(shell $(PKGCONF) --path libdpdk) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) -DALLOW_EXPERIMENTAL_API LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) -LDFLAGS_STATIC = -Wl,-Bstatic $(shell $(PKGCONF) --static --libs libdpdk) +LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 06/11] examples/l3fwd-graph: fix pkg-config usage 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (4 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 05/11] examples/l3fwd-graph: fix static build David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 07/11] examples/ntb: fix clean target David Marchand ` (5 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Jerin Jacob, Kiran Kumar K, Nithin Dabilpuram This example missed the fixes from commit 69b1bb49ed82 ("examples: hide error for missing pkg-config path flag") and commit 12a652a02b08 ("examples: fix build with old pkg-config"). Fixes: 08bd1a174461 ("examples/l3fwd-graph: add graph-based l3fwd skeleton") Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/l3fwd-graph/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/l3fwd-graph/Makefile b/examples/l3fwd-graph/Makefile index 1e4f0600ae..6e3d0bca06 100644 --- a/examples/l3fwd-graph/Makefile +++ b/examples/l3fwd-graph/Makefile @@ -19,9 +19,9 @@ shared: build/$(APP)-shared static: build/$(APP)-static ln -sf $(APP)-static build/$(APP) -PKGCONF=pkg-config --define-prefix +PKGCONF ?= pkg-config -PC_FILE := $(shell $(PKGCONF) --path libdpdk) +PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null) CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) -DALLOW_EXPERIMENTAL_API LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 07/11] examples/ntb: fix clean target 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (5 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 06/11] examples/l3fwd-graph: fix pkg-config usage David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 08/11] examples/performance-thread: fix build with pkg-config David Marchand ` (4 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, Xiaoyun Li, Jingjing Wu, Xiaolong Ye When introducing this example, the cleanup from commit 7e9562a107f1 ("examples: fix make clean when using pkg-config") was missed. Fixes: c5eebf85badc ("examples/ntb: add example for NTB") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com> --- examples/ntb/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ntb/Makefile b/examples/ntb/Makefile index 4675570fd2..d35dabc471 100644 --- a/examples/ntb/Makefile +++ b/examples/ntb/Makefile @@ -42,4 +42,4 @@ build: .PHONY: clean clean: rm -f build/$(APP) build/$(APP)-static build/$(APP)-shared - rmdir --ignore-fail-on-non-empty build + test -d build && rmdir -p build || true -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 08/11] examples/performance-thread: fix build with pkg-config 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (6 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 07/11] examples/ntb: fix clean target David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 09/11] examples/vhost_blk: " David Marchand ` (3 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, John McNamara, Tomasz Kulasek, Ian Betts main.c: In function ‘lthread_tx’: main.c:2091:25: error: implicit declaration of function ‘sched_getcpu’; did you mean ‘sched_getparam’? [-Werror=implicit-function-declaration] 2091 | tx_conf->conf.cpu_id = sched_getcpu(); | ^~~~~~~~~~~~ | sched_getparam cc1: all warnings being treated as errors Explicitly pass _GNU_SOURCE and include missing header (rather than rely on automagic inclusion from other system headers). Fixes: d48415e1fee3 ("examples/performance-thread: add l3fwd-thread app") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> --- examples/performance-thread/l3fwd-thread/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c index 7bf61db6be..4d82fb82ef 100644 --- a/examples/performance-thread/l3fwd-thread/main.c +++ b/examples/performance-thread/l3fwd-thread/main.c @@ -2,6 +2,10 @@ * Copyright(c) 2010-2016 Intel Corporation */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif + #include <stdio.h> #include <stdlib.h> #include <stdint.h> @@ -12,6 +16,7 @@ #include <stdarg.h> #include <errno.h> #include <getopt.h> +#include <sched.h> #include <rte_common.h> #include <rte_vect.h> -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 09/11] examples/vhost_blk: fix build with pkg-config 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (7 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 08/11] examples/performance-thread: fix build with pkg-config David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 10/11] examples/rxtx_callbacks: " David Marchand ` (2 subsequent siblings) 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev; +Cc: thomas, bruce.richardson, Maxime Coquelin, Chenbo Xia, Jin Yu vhost_blk.c: In function ‘ctrlr_worker’: vhost_blk.c:543:2: warning: implicit declaration of function ‘CPU_ZERO’ [-Wimplicit-function-declaration] 543 | CPU_ZERO(&cpuset); | ^~~~~~~~ vhost_blk.c:544:2: warning: implicit declaration of function ‘CPU_SET’ [-Wimplicit-function-declaration] 544 | CPU_SET(0, &cpuset); | ^~~~~~~ vhost_blk.c:545:2: warning: implicit declaration of function ‘pthread_setaffinity_np’ [-Wimplicit-function-declaration] 545 | pthread_setaffinity_np(thread, sizeof(cpu_set_t), &cpuset); | ^~~~~~~~~~~~~~~~~~~~~~ /usr/bin/ld: /tmp/cczpiMWH.o: in function `ctrlr_worker': vhost_blk.c:(.text+0x1076): undefined reference to `CPU_ZERO' /usr/bin/ld: vhost_blk.c:(.text+0x1082): undefined reference to `CPU_SET' collect2: error: ld returned 1 exit status gmake: *** [Makefile:34: build/vhost-blk-shared] Error 1 Explicitly pass _GNU_SOURCE and include missing headers (rather than rely on automagic inclusion from other system headers). Fixes: c19beb3f38cd ("examples/vhost_blk: introduce vhost storage sample") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/vhost_blk/vhost_blk.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/vhost_blk/vhost_blk.c b/examples/vhost_blk/vhost_blk.c index 8f5d61a589..bb293d492f 100644 --- a/examples/vhost_blk/vhost_blk.c +++ b/examples/vhost_blk/vhost_blk.c @@ -2,6 +2,12 @@ * Copyright(c) 2010-2019 Intel Corporation */ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#include <pthread.h> +#include <sched.h> + #include <stdint.h> #include <unistd.h> #include <stdbool.h> -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 10/11] examples/rxtx_callbacks: fix build with pkg-config 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (8 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 09/11] examples/vhost_blk: " David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 11/11] examples: restore trace point David Marchand 2020-11-15 14:37 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes Thomas Monjalon 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, stable, John McNamara, Ferruh Yigit, Tom Barbette This example is missing the experimental flag since it uses an experimental API. Fixes: cd1dadeb9b2a ("examples/rxtx_callbacks: support HW timestamp") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- examples/rxtx_callbacks/Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/rxtx_callbacks/Makefile b/examples/rxtx_callbacks/Makefile index bac3015d34..a618cdf751 100644 --- a/examples/rxtx_callbacks/Makefile +++ b/examples/rxtx_callbacks/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* [dpdk-dev] [PATCH v3 11/11] examples: restore trace point 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (9 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 10/11] examples/rxtx_callbacks: " David Marchand @ 2020-11-14 9:05 ` David Marchand 2020-11-15 14:37 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes Thomas Monjalon 11 siblings, 0 replies; 51+ messages in thread From: David Marchand @ 2020-11-14 9:05 UTC (permalink / raw) To: dev Cc: thomas, bruce.richardson, Olivier Matz, David Hunt, Harry van Haaren, Ori Kam, Konstantin Ananyev, Tomasz Kantecki, Sunil Kumar Kori, Pavan Nikhilesh, Anatoly Burakov, Reshma Pattan, Kirill Rybalchenko, Cristian Dumitrescu, Jasvinder Singh, Byron Marohn, Yipeng Wang, John McNamara, Robert Sanford, Erik Gabriel Carrillo Before make removal, those examples were built with experimental flag for tracepoints to be compiled in but the pkg-config part of those makefiles were missed. Fixes: 78d44153de8f ("ethdev: add tracepoints") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- Changelog since v2: - added eventdev_pipeline, --- examples/cmdline/Makefile | 2 ++ examples/distributor/Makefile | 2 ++ examples/ethtool/ethtool-app/Makefile | 2 ++ examples/eventdev_pipeline/Makefile | 2 ++ examples/flow_filtering/Makefile | 2 ++ examples/helloworld/Makefile | 2 ++ examples/ioat/Makefile | 2 ++ examples/ip_reassembly/Makefile | 2 ++ examples/ipv4_multicast/Makefile | 2 ++ examples/l2fwd-cat/Makefile | 2 ++ examples/l2fwd-event/Makefile | 2 ++ examples/l2fwd-jobstats/Makefile | 2 ++ examples/l2fwd-keepalive/Makefile | 2 ++ examples/l2fwd-keepalive/ka-agent/Makefile | 2 ++ examples/l3fwd-acl/Makefile | 2 ++ examples/link_status_interrupt/Makefile | 2 ++ examples/multi_process/client_server_mp/mp_client/Makefile | 2 ++ examples/multi_process/client_server_mp/mp_server/Makefile | 2 ++ examples/multi_process/hotplug_mp/Makefile | 2 ++ examples/multi_process/simple_mp/Makefile | 2 ++ examples/multi_process/symmetric_mp/Makefile | 2 ++ examples/packet_ordering/Makefile | 2 ++ examples/ptpclient/Makefile | 2 ++ examples/qos_sched/Makefile | 2 ++ examples/server_node_efd/node/Makefile | 2 ++ examples/server_node_efd/server/Makefile | 2 ++ examples/service_cores/Makefile | 2 ++ examples/skeleton/Makefile | 2 ++ examples/timer/Makefile | 2 ++ examples/vm_power_manager/Makefile | 2 ++ examples/vm_power_manager/guest_cli/Makefile | 2 ++ examples/vmdq/Makefile | 2 ++ examples/vmdq_dcb/Makefile | 2 ++ 33 files changed, 66 insertions(+) diff --git a/examples/cmdline/Makefile b/examples/cmdline/Makefile index d8f51fb39b..09da84ba0b 100644 --- a/examples/cmdline/Makefile +++ b/examples/cmdline/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/distributor/Makefile b/examples/distributor/Makefile index 4116064581..d7615f9a32 100644 --- a/examples/distributor/Makefile +++ b/examples/distributor/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile index 5ebeb200a8..93ef5c27c3 100644 --- a/examples/ethtool/ethtool-app/Makefile +++ b/examples/ethtool/ethtool-app/Makefile @@ -31,6 +31,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED += $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC += $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/eventdev_pipeline/Makefile b/examples/eventdev_pipeline/Makefile index 05c6f865ad..f5072a2b0c 100644 --- a/examples/eventdev_pipeline/Makefile +++ b/examples/eventdev_pipeline/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/flow_filtering/Makefile b/examples/flow_filtering/Makefile index 0577e52985..9bc9179346 100644 --- a/examples/flow_filtering/Makefile +++ b/examples/flow_filtering/Makefile @@ -24,6 +24,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/helloworld/Makefile b/examples/helloworld/Makefile index 2eef6e4527..436569f5a6 100644 --- a/examples/helloworld/Makefile +++ b/examples/helloworld/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ioat/Makefile b/examples/ioat/Makefile index 9645c27d2f..c13ad8d8af 100644 --- a/examples/ioat/Makefile +++ b/examples/ioat/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ip_reassembly/Makefile b/examples/ip_reassembly/Makefile index 479b802907..740f4721d0 100644 --- a/examples/ip_reassembly/Makefile +++ b/examples/ip_reassembly/Makefile @@ -27,6 +27,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ipv4_multicast/Makefile b/examples/ipv4_multicast/Makefile index fb1ebdd433..7ea44e6f63 100644 --- a/examples/ipv4_multicast/Makefile +++ b/examples/ipv4_multicast/Makefile @@ -27,6 +27,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile index c5f82fb548..9ba1135612 100644 --- a/examples/l2fwd-cat/Makefile +++ b/examples/l2fwd-cat/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + LDFLAGS += -lpqos build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build diff --git a/examples/l2fwd-event/Makefile b/examples/l2fwd-event/Makefile index 109b7caa4e..384224b24a 100644 --- a/examples/l2fwd-event/Makefile +++ b/examples/l2fwd-event/Makefile @@ -32,6 +32,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-jobstats/Makefile b/examples/l2fwd-jobstats/Makefile index d3ff2d3ee9..fcb60b2a33 100644 --- a/examples/l2fwd-jobstats/Makefile +++ b/examples/l2fwd-jobstats/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-keepalive/Makefile b/examples/l2fwd-keepalive/Makefile index c327efab36..09a891149b 100644 --- a/examples/l2fwd-keepalive/Makefile +++ b/examples/l2fwd-keepalive/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l2fwd-keepalive/ka-agent/Makefile b/examples/l2fwd-keepalive/ka-agent/Makefile index 700137c2e2..8b329a78b1 100644 --- a/examples/l2fwd-keepalive/ka-agent/Makefile +++ b/examples/l2fwd-keepalive/ka-agent/Makefile @@ -30,6 +30,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/l3fwd-acl/Makefile b/examples/l3fwd-acl/Makefile index eeb6288dae..3420ea3a9c 100644 --- a/examples/l3fwd-acl/Makefile +++ b/examples/l3fwd-acl/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/link_status_interrupt/Makefile b/examples/link_status_interrupt/Makefile index b9b02124a4..fa608c56a0 100644 --- a/examples/link_status_interrupt/Makefile +++ b/examples/link_status_interrupt/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/client_server_mp/mp_client/Makefile b/examples/multi_process/client_server_mp/mp_client/Makefile index b723e545b7..bc00a1c875 100644 --- a/examples/multi_process/client_server_mp/mp_client/Makefile +++ b/examples/multi_process/client_server_mp/mp_client/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/client_server_mp/mp_server/Makefile b/examples/multi_process/client_server_mp/mp_server/Makefile index f49260a256..d066524b36 100644 --- a/examples/multi_process/client_server_mp/mp_server/Makefile +++ b/examples/multi_process/client_server_mp/mp_server/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/hotplug_mp/Makefile b/examples/multi_process/hotplug_mp/Makefile index 2c023a73d8..3122449d62 100644 --- a/examples/multi_process/hotplug_mp/Makefile +++ b/examples/multi_process/hotplug_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/simple_mp/Makefile b/examples/multi_process/simple_mp/Makefile index 410f8b5368..d03597c4c2 100644 --- a/examples/multi_process/simple_mp/Makefile +++ b/examples/multi_process/simple_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/multi_process/symmetric_mp/Makefile b/examples/multi_process/symmetric_mp/Makefile index df69ecabe7..45b7214cba 100644 --- a/examples/multi_process/symmetric_mp/Makefile +++ b/examples/multi_process/symmetric_mp/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/packet_ordering/Makefile b/examples/packet_ordering/Makefile index e8d6c57b72..09abda91ea 100644 --- a/examples/packet_ordering/Makefile +++ b/examples/packet_ordering/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/ptpclient/Makefile b/examples/ptpclient/Makefile index 86059d8b28..9f56a5e7a0 100644 --- a/examples/ptpclient/Makefile +++ b/examples/ptpclient/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile index 408074a9f5..f42406fe1c 100644 --- a/examples/qos_sched/Makefile +++ b/examples/qos_sched/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/server_node_efd/node/Makefile b/examples/server_node_efd/node/Makefile index a4efef42dc..2120de5397 100644 --- a/examples/server_node_efd/node/Makefile +++ b/examples/server_node_efd/node/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/server_node_efd/server/Makefile b/examples/server_node_efd/server/Makefile index 106e1abd74..6b5878d8c0 100644 --- a/examples/server_node_efd/server/Makefile +++ b/examples/server_node_efd/server/Makefile @@ -28,6 +28,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/service_cores/Makefile b/examples/service_cores/Makefile index beb7ea0b82..754333c878 100644 --- a/examples/service_cores/Makefile +++ b/examples/service_cores/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/skeleton/Makefile b/examples/skeleton/Makefile index ca52abba42..4fa97cb975 100644 --- a/examples/skeleton/Makefile +++ b/examples/skeleton/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/timer/Makefile b/examples/timer/Makefile index 0f6523afa6..70b1af9f4b 100644 --- a/examples/timer/Makefile +++ b/examples/timer/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vm_power_manager/Makefile b/examples/vm_power_manager/Makefile index 027d17c7ef..8ac1180b2f 100644 --- a/examples/vm_power_manager/Makefile +++ b/examples/vm_power_manager/Makefile @@ -32,6 +32,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + ifneq ($(shell $(PKGCONF) --atleast-version=0.9.3 libvirt; echo $$?), 0) $(error vm_power_manager requires libvirt >= 0.9.3) endif diff --git a/examples/vm_power_manager/guest_cli/Makefile b/examples/vm_power_manager/guest_cli/Makefile index b84deec574..1ee1ca1017 100644 --- a/examples/vm_power_manager/guest_cli/Makefile +++ b/examples/vm_power_manager/guest_cli/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vmdq/Makefile b/examples/vmdq/Makefile index de527281eb..749ed53c6f 100644 --- a/examples/vmdq/Makefile +++ b/examples/vmdq/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) diff --git a/examples/vmdq_dcb/Makefile b/examples/vmdq_dcb/Makefile index 9c9049d85e..1dd42105d6 100644 --- a/examples/vmdq_dcb/Makefile +++ b/examples/vmdq_dcb/Makefile @@ -26,6 +26,8 @@ CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk) LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) +CFLAGS += -DALLOW_EXPERIMENTAL_API + build/$(APP)-shared: $(SRCS-y) Makefile $(PC_FILE) | build $(CC) $(CFLAGS) $(SRCS-y) -o $@ $(LDFLAGS) $(LDFLAGS_SHARED) -- 2.23.0 ^ permalink raw reply [flat|nested] 51+ messages in thread
* Re: [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand ` (10 preceding siblings ...) 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 11/11] examples: restore trace point David Marchand @ 2020-11-15 14:37 ` Thomas Monjalon 11 siblings, 0 replies; 51+ messages in thread From: Thomas Monjalon @ 2020-11-15 14:37 UTC (permalink / raw) To: David Marchand; +Cc: dev, bruce.richardson 14/11/2020 10:05, David Marchand: > I tested external compilation for all possible examples (in my env). > The result is this series. > > David Marchand (11): > examples/fips_validation: fix build with pkg-config > examples/ipsec-gw: fix build with pkg-config > examples/kni: fix build with pkg-config > examples/l2fwd-crypto: fix build with pkg-config > examples/l3fwd-graph: fix static build > examples/l3fwd-graph: fix pkg-config usage > examples/ntb: fix clean target > examples/performance-thread: fix build with pkg-config > examples/vhost_blk: fix build with pkg-config > examples/rxtx_callbacks: fix build with pkg-config > examples: restore trace point I think all patches are candidates for backport. I've decided to add Cc: stable@dpdk.org where is was not. Applied, thanks ^ permalink raw reply [flat|nested] 51+ messages in thread
end of thread, other threads:[~2020-11-16 4:16 UTC | newest] Thread overview: 51+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-11-10 15:12 [dpdk-dev] [PATCH 00/10] Examples compilation fixes David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 01/10] examples/fips_validation: fix build with pkg-config David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 02/10] examples/ipsec-gw: " David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 03/10] examples/kni: " David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 04/10] examples/l2fwd-crypto: " David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 05/10] examples/l3fwd-graph: fix static build David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 06/10] examples/ntb: fix clean target David Marchand 2020-11-12 1:30 ` Li, Xiaoyun 2020-11-10 15:12 ` [dpdk-dev] [PATCH 07/10] examples/vhost_blk: fix build with pkg-config David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 08/10] examples/rxtx_callbacks: " David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 09/10] devtools: compile all examples " David Marchand 2020-11-10 16:02 ` Bruce Richardson 2020-11-10 17:18 ` Bruce Richardson 2020-11-10 17:27 ` David Marchand 2020-11-10 15:12 ` [dpdk-dev] [PATCH 10/10] examples: restore trace point David Marchand 2020-11-10 16:04 ` [dpdk-dev] [PATCH 00/10] Examples compilation fixes Bruce Richardson 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 00/11] " David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 01/11] examples/fips_validation: fix build with pkg-config David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 02/11] examples/ipsec-gw: " David Marchand 2020-11-16 4:16 ` [dpdk-dev] [EXT] " Anoob Joseph 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 03/11] examples/kni: " David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 04/11] examples/l2fwd-crypto: " David Marchand 2020-11-13 13:53 ` Bruce Richardson 2020-11-13 14:15 ` David Marchand 2020-11-13 15:41 ` David Marchand 2020-11-13 16:08 ` Bruce Richardson 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 05/11] examples/l3fwd-graph: fix static build David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 06/11] examples/ntb: fix clean target David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 07/11] examples/performance-thread: fix build with pkg-config David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 08/11] examples/vhost_blk: " David Marchand 2020-11-13 13:00 ` Maxime Coquelin 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 09/11] examples/rxtx_callbacks: " David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 10/11] examples: restore trace point David Marchand 2020-11-13 12:24 ` [dpdk-dev] [PATCH v2 11/11] devtools: compile all buildable examples with pkg-config David Marchand 2020-11-13 12:37 ` David Marchand 2020-11-13 14:06 ` Bruce Richardson 2020-11-13 14:14 ` David Marchand 2020-11-13 14:24 ` Bruce Richardson 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 01/11] examples/fips_validation: fix build with pkg-config David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 02/11] examples/ipsec-gw: " David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 03/11] examples/kni: " David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 04/11] examples/l2fwd-crypto: " David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 05/11] examples/l3fwd-graph: fix static build David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 06/11] examples/l3fwd-graph: fix pkg-config usage David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 07/11] examples/ntb: fix clean target David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 08/11] examples/performance-thread: fix build with pkg-config David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 09/11] examples/vhost_blk: " David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 10/11] examples/rxtx_callbacks: " David Marchand 2020-11-14 9:05 ` [dpdk-dev] [PATCH v3 11/11] examples: restore trace point David Marchand 2020-11-15 14:37 ` [dpdk-dev] [PATCH v3 00/11] Examples compilation fixes Thomas Monjalon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).