* [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig
[not found] <20190812230358.988-1-thomas@monjalon.net>
@ 2019-08-12 23:03 ` Thomas Monjalon
2019-08-13 9:37 ` Luca Boccassi
2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
2 siblings, 1 reply; 8+ messages in thread
From: Thomas Monjalon @ 2019-08-12 23:03 UTC (permalink / raw)
To: bruce.richardson, Lee Daly, Fiona Trahe, Pablo de Lara,
Ashish Gupta, Xiaolong Ye, Qi Zhang
Cc: dev, bluca, stable
As explained in drivers/meson.build,
"
For the find_library() case (but not with dependency()) we also
need to specify the "-l" flags in pkgconfig_extra_libs variable
too, so that it can be reflected in the pkgconfig output for
static builds.
"
The commit e30b4e566f47 ("build: improve dependency handling")
must be followed up with this one in order to remove more
occurences of pkgconfig_extra_libs redundant with use of dependency().
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
Cc: xiaolong.ye@intel.com
Fixes: 3c32e89f68e1 ("compress/isal: add skeleton ISA-L compression PMD")
Cc: lee.daly@intel.com
Cc: bluca@debian.org
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/compress/isal/meson.build | 1 -
drivers/net/af_xdp/meson.build | 1 -
2 files changed, 2 deletions(-)
diff --git a/drivers/compress/isal/meson.build b/drivers/compress/isal/meson.build
index 67b5c4aae..25578880d 100644
--- a/drivers/compress/isal/meson.build
+++ b/drivers/compress/isal/meson.build
@@ -10,6 +10,5 @@ endif
deps += 'bus_vdev'
sources = files('isal_compress_pmd.c', 'isal_compress_pmd_ops.c')
ext_deps += dep
-pkgconfig_extra_libs += '-lisal'
allow_experimental_apis = true
diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build
index ac679b92b..307aa0e38 100644
--- a/drivers/net/af_xdp/meson.build
+++ b/drivers/net/af_xdp/meson.build
@@ -10,7 +10,6 @@ endif
if bpf_dep.found() and cc.has_header('bpf/xsk.h') and cc.has_header('linux/if_xdp.h')
ext_deps += bpf_dep
- pkgconfig_extra_libs += '-lbpf'
else
build = false
reason = 'missing dependency, "libbpf"'
--
2.22.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig
2019-08-12 23:03 ` [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig Thomas Monjalon
@ 2019-08-13 9:37 ` Luca Boccassi
0 siblings, 0 replies; 8+ messages in thread
From: Luca Boccassi @ 2019-08-13 9:37 UTC (permalink / raw)
To: Thomas Monjalon, bruce.richardson, Lee Daly, Fiona Trahe,
Pablo de Lara, Ashish Gupta, Xiaolong Ye, Qi Zhang
Cc: dev, stable
On Tue, 2019-08-13 at 01:03 +0200, Thomas Monjalon wrote:
> As explained in drivers/meson.build,
> "
> For the find_library() case (but not with dependency()) we also
> need to specify the "-l" flags in pkgconfig_extra_libs variable
> too, so that it can be reflected in the pkgconfig output for
> static builds.
> "
>
> The commit e30b4e566f47 ("build: improve dependency handling")
> must be followed up with this one in order to remove more
> occurences of pkgconfig_extra_libs redundant with use of
> dependency().
>
> Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
> Cc:
> xiaolong.ye@intel.com
>
> Fixes: 3c32e89f68e1 ("compress/isal: add skeleton ISA-L compression
> PMD")
> Cc:
> lee.daly@intel.com
>
> Cc:
> bluca@debian.org
>
> Cc:
> stable@dpdk.org
>
>
> Signed-off-by: Thomas Monjalon <
> thomas@monjalon.net
> >
> ---
> drivers/compress/isal/meson.build | 1 -
> drivers/net/af_xdp/meson.build | 1 -
> 2 files changed, 2 deletions(-)
>
> diff --git a/drivers/compress/isal/meson.build
> b/drivers/compress/isal/meson.build
> index 67b5c4aae..25578880d 100644
> --- a/drivers/compress/isal/meson.build
> +++ b/drivers/compress/isal/meson.build
> @@ -10,6 +10,5 @@ endif
> deps += 'bus_vdev'
> sources = files('isal_compress_pmd.c', 'isal_compress_pmd_ops.c')
> ext_deps += dep
> -pkgconfig_extra_libs += '-lisal'
>
> allow_experimental_apis = true
> diff --git a/drivers/net/af_xdp/meson.build
> b/drivers/net/af_xdp/meson.build
> index ac679b92b..307aa0e38 100644
> --- a/drivers/net/af_xdp/meson.build
> +++ b/drivers/net/af_xdp/meson.build
> @@ -10,7 +10,6 @@ endif
>
> if bpf_dep.found() and cc.has_header('bpf/xsk.h') and
> cc.has_header('linux/if_xdp.h')
> ext_deps += bpf_dep
> - pkgconfig_extra_libs += '-lbpf'
> else
> build = false
> reason = 'missing dependency, "libbpf"'
>
Acked-by: Luca Boccassi <bluca@debian.org>
--
Kind regards,
Luca Boccassi
^ permalink raw reply [flat|nested] 8+ messages in thread
* [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path
[not found] <20190812230358.988-1-thomas@monjalon.net>
2019-08-12 23:03 ` [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig Thomas Monjalon
@ 2019-08-12 23:03 ` Thomas Monjalon
2019-08-13 9:38 ` Luca Boccassi
2019-08-14 8:39 ` Matan Azrad
2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
2 siblings, 2 replies; 8+ messages in thread
From: Thomas Monjalon @ 2019-08-12 23:03 UTC (permalink / raw)
To: bruce.richardson, Matan Azrad, Shahaf Shuler, Yongseok Koh,
Viacheslav Ovsiienko
Cc: dev, stable, Luca Boccassi
If rdma-core is not installed in a standard directory of the system,
it is possible to specify the location of the pkgconfig file via
an environment variable:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:~/rdma-core/build/lib/pkgconfig
In this case, the dependency may become mandatory to specify
for the configuration tests (checking dependency symbols or fields).
Some spacing is also fixed around.
Fixes: 8e4937640022 ("net/mlx4: add external allocator for Verbs object")
Fixes: 1dd7c7e38c19 ("net/mlx4: support meson build")
Fixes: 96d7c62a70c7 ("net/mlx5: support meson build")
Cc: stable@dpdk.org
Suggested-by: Luca Boccassi <bluca@debian.org>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/mlx4/meson.build | 9 +++++----
drivers/net/mlx5/meson.build | 7 ++++---
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
index 028cd97fa..efee45776 100644
--- a/drivers/net/mlx4/meson.build
+++ b/drivers/net/mlx4/meson.build
@@ -76,7 +76,7 @@ if build
# mlx4_autoconf.h file is still generated.
# input array for meson member search:
# [ "MACRO to define if found", "header for the search",
- # "symbol to search","struct member to search" ]
+ # "symbol to search", "struct member to search" ]
#
has_member_args = [
[ 'HAVE_IBV_MLX4_WQE_LSO_SEG', 'infiniband/mlx4dv.h',
@@ -93,12 +93,13 @@ if build
]
config = configuration_data()
foreach arg:has_sym_args
- config.set(arg[0], cc.has_header_symbol(arg[1], arg[2]))
+ config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
+ dependencies: libs))
endforeach
foreach arg:has_member_args
- file_prefix = '#include<' + arg[1] + '>'
+ file_prefix = '#include <' + arg[1] + '>'
config.set(arg[0], cc.has_member(arg[2], arg[3],
- prefix : file_prefix))
+ prefix: file_prefix, dependencies: libs))
endforeach
configure_file(output : 'mlx4_autoconf.h', configuration : config)
endif
diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
index 62b41caf1..3c5144c9b 100644
--- a/drivers/net/mlx5/meson.build
+++ b/drivers/net/mlx5/meson.build
@@ -177,12 +177,13 @@ if build
]
config = configuration_data()
foreach arg:has_sym_args
- config.set(arg[0], cc.has_header_symbol(arg[1], arg[2]))
+ config.set(arg[0], cc.has_header_symbol(arg[1], arg[2],
+ dependencies: libs))
endforeach
foreach arg:has_member_args
- file_prefix = '#include<' + arg[1] + '>'
+ file_prefix = '#include <' + arg[1] + '>'
config.set(arg[0], cc.has_member(arg[2], arg[3],
- prefix : file_prefix))
+ prefix : file_prefix, dependencies: libs))
endforeach
configure_file(output : 'mlx5_autoconf.h', configuration : config)
endif
--
2.22.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path
2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
@ 2019-08-13 9:38 ` Luca Boccassi
2019-08-14 8:39 ` Matan Azrad
1 sibling, 0 replies; 8+ messages in thread
From: Luca Boccassi @ 2019-08-13 9:38 UTC (permalink / raw)
To: Thomas Monjalon, bruce.richardson, Matan Azrad, Shahaf Shuler,
Yongseok Koh, Viacheslav Ovsiienko
Cc: dev, stable
On Tue, 2019-08-13 at 01:03 +0200, Thomas Monjalon wrote:
> If rdma-core is not installed in a standard directory of the system,
> it is possible to specify the location of the pkgconfig file via
> an environment variable:
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:~/rdma-core/build/lib/pkgconfig
>
> In this case, the dependency may become mandatory to specify
> for the configuration tests (checking dependency symbols or fields).
>
> Some spacing is also fixed around.
>
> Fixes: 8e4937640022 ("net/mlx4: add external allocator for Verbs
> object")
> Fixes: 1dd7c7e38c19 ("net/mlx4: support meson build")
> Fixes: 96d7c62a70c7 ("net/mlx5: support meson build")
> Cc:
> stable@dpdk.org
>
>
> Suggested-by: Luca Boccassi <
> bluca@debian.org
> >
> Signed-off-by: Thomas Monjalon <
> thomas@monjalon.net
> >
> ---
> drivers/net/mlx4/meson.build | 9 +++++----
> drivers/net/mlx5/meson.build | 7 ++++---
> 2 files changed, 9 insertions(+), 7 deletions(-)
Acked-by: Luca Boccassi <bluca@debian.org>
--
Kind regards,
Luca Boccassi
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path
2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
2019-08-13 9:38 ` Luca Boccassi
@ 2019-08-14 8:39 ` Matan Azrad
1 sibling, 0 replies; 8+ messages in thread
From: Matan Azrad @ 2019-08-14 8:39 UTC (permalink / raw)
To: Thomas Monjalon, bruce.richardson, Shahaf Shuler, Yongseok Koh,
Slava Ovsiienko
Cc: dev, stable, Luca Boccassi
From: Thomas Monjalon <thomas@monjalon.net>
> If rdma-core is not installed in a standard directory of the system, it is
> possible to specify the location of the pkgconfig file via an environment
> variable:
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:~/rdma-core/build/lib/pkgconfig
>
> In this case, the dependency may become mandatory to specify for the
> configuration tests (checking dependency symbols or fields).
>
> Some spacing is also fixed around.
>
> Fixes: 8e4937640022 ("net/mlx4: add external allocator for Verbs object")
> Fixes: 1dd7c7e38c19 ("net/mlx4: support meson build")
> Fixes: 96d7c62a70c7 ("net/mlx5: support meson build")
> Cc: stable@dpdk.org
>
> Suggested-by: Luca Boccassi <bluca@debian.org>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@mellanox.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc
[not found] <20190812230358.988-1-thomas@monjalon.net>
2019-08-12 23:03 ` [dpdk-stable] [PATCH 1/6] build: remove redundant libs from pkgconfig Thomas Monjalon
2019-08-12 23:03 ` [dpdk-stable] [PATCH 3/6] net/mlx: fix meson build with custom dependency path Thomas Monjalon
@ 2019-08-12 23:03 ` Thomas Monjalon
2019-08-13 9:39 ` Luca Boccassi
2019-08-14 10:19 ` Matan Azrad
2 siblings, 2 replies; 8+ messages in thread
From: Thomas Monjalon @ 2019-08-12 23:03 UTC (permalink / raw)
To: bruce.richardson, Matan Azrad, Shahaf Shuler, Yongseok Koh,
Viacheslav Ovsiienko
Cc: dev, adrien.mazarguil, stable
With VERBOSE=1, this error was seen in debug mode with gcc 9.1:
In file included from /tmp/dpdk.auto-config-h.sh.c.w0VWMi:1:
In file included from rdma-core/build/include/infiniband/mlx5dv.h:47:
In file included from rdma-core/build/include/infiniband/verbs.h:46:
In file included from rdma-core/build/include/infiniband/verbs_api.h:66:
In file included from rdma-core/build/include/infiniband/ib_user_ioctl_verbs.h:38:
include/rdma/ib_user_verbs.h:161:28: fatal error:
zero size arrays are an extension [-Wzero-length-array]
__aligned_u64 driver_data0;
^
1 error generated.
As a result, buildtools/auto-config-h.sh was not generating
a correct autoconf file, so the compilation was generating such error:
fatal error: redefinition of 'mlx5_ib_uapi_flow_action_packet_reformat_type'
It is fixed by disabling -pedantic option when calling auto-config-h.sh
from the makefile-based system.
Cc: adrien.mazarguil@6wind.com
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/mlx4/Makefile | 3 ++-
drivers/net/mlx5/Makefile | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index 8126b0dfc..25d7c7555 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -68,6 +68,7 @@ endif
# User-defined CFLAGS.
ifeq ($(CONFIG_RTE_LIBRTE_MLX4_DEBUG),y)
CFLAGS += -pedantic -UNDEBUG -DPEDANTIC
+AUTO_CONFIG_CFLAGS += -Wno-pedantic
else
CFLAGS += -DNDEBUG -UPEDANTIC
endif
@@ -77,7 +78,7 @@ include $(RTE_SDK)/mk/rte.lib.mk
# Generate and clean-up mlx4_autoconf.h.
export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
+export AUTO_CONFIG_CFLAGS += -Wno-error
ifndef V
AUTOCONF_OUTPUT := >/dev/null
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
index dbb2a4e80..299cf3afe 100644
--- a/drivers/net/mlx5/Makefile
+++ b/drivers/net/mlx5/Makefile
@@ -83,6 +83,7 @@ endif
# User-defined CFLAGS.
ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
CFLAGS += -pedantic -UNDEBUG -DPEDANTIC
+AUTO_CONFIG_CFLAGS += -Wno-pedantic
else
CFLAGS += -DNDEBUG -UPEDANTIC
endif
@@ -92,7 +93,7 @@ include $(RTE_SDK)/mk/rte.lib.mk
# Generate and clean-up mlx5_autoconf.h.
export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
+export AUTO_CONFIG_CFLAGS += -Wno-error
ifndef V
AUTOCONF_OUTPUT := >/dev/null
--
2.22.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc
2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
@ 2019-08-13 9:39 ` Luca Boccassi
2019-08-14 10:19 ` Matan Azrad
1 sibling, 0 replies; 8+ messages in thread
From: Luca Boccassi @ 2019-08-13 9:39 UTC (permalink / raw)
To: Thomas Monjalon, bruce.richardson, Matan Azrad, Shahaf Shuler,
Yongseok Koh, Viacheslav Ovsiienko
Cc: dev, adrien.mazarguil, stable
On Tue, 2019-08-13 at 01:03 +0200, Thomas Monjalon wrote:
> With VERBOSE=1, this error was seen in debug mode with gcc 9.1:
>
> In file included from /tmp/dpdk.auto-config-h.sh.c.w0VWMi:1:
> In file included from rdma-core/build/include/infiniband/mlx5dv.h:47:
> In file included from rdma-core/build/include/infiniband/verbs.h:46:
> In file included from rdma-
> core/build/include/infiniband/verbs_api.h:66:
> In file included from rdma-
> core/build/include/infiniband/ib_user_ioctl_verbs.h:38:
> include/rdma/ib_user_verbs.h:161:28: fatal error:
> zero size arrays are an extension [-Wzero-length-array]
> __aligned_u64 driver_data0;
> ^
> 1 error generated.
>
> As a result, buildtools/auto-config-h.sh was not generating
> a correct autoconf file, so the compilation was generating such
> error:
>
> fatal error: redefinition of
> 'mlx5_ib_uapi_flow_action_packet_reformat_type'
>
> It is fixed by disabling -pedantic option when calling auto-config-
> h.sh
> from the makefile-based system.
>
> Cc:
> adrien.mazarguil@6wind.com
>
> Cc:
> stable@dpdk.org
>
>
> Signed-off-by: Thomas Monjalon <
> thomas@monjalon.net
> >
Acked-by: Luca Boccassi <bluca@debian.org>
--
Kind regards,
Luca Boccassi
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc
2019-08-12 23:03 ` [dpdk-stable] [PATCH 4/6] net/mlx: fix build with make and recent gcc Thomas Monjalon
2019-08-13 9:39 ` Luca Boccassi
@ 2019-08-14 10:19 ` Matan Azrad
1 sibling, 0 replies; 8+ messages in thread
From: Matan Azrad @ 2019-08-14 10:19 UTC (permalink / raw)
To: Thomas Monjalon, bruce.richardson, Shahaf Shuler, Yongseok Koh,
Slava Ovsiienko
Cc: dev, Adrien Mazarguil, stable
From: Thomas Monjalon <thomas@monjalon.net>
> With VERBOSE=1, this error was seen in debug mode with gcc 9.1:
>
> In file included from /tmp/dpdk.auto-config-h.sh.c.w0VWMi:1:
> In file included from rdma-core/build/include/infiniband/mlx5dv.h:47:
> In file included from rdma-core/build/include/infiniband/verbs.h:46:
> In file included from rdma-core/build/include/infiniband/verbs_api.h:66:
> In file included from rdma-
> core/build/include/infiniband/ib_user_ioctl_verbs.h:38:
> include/rdma/ib_user_verbs.h:161:28: fatal error:
> zero size arrays are an extension [-Wzero-length-array]
> __aligned_u64 driver_data0;
> ^
> 1 error generated.
>
> As a result, buildtools/auto-config-h.sh was not generating a correct
> autoconf file, so the compilation was generating such error:
>
> fatal error: redefinition of
> 'mlx5_ib_uapi_flow_action_packet_reformat_type'
>
> It is fixed by disabling -pedantic option when calling auto-config-h.sh from
> the makefile-based system.
>
> Cc: adrien.mazarguil@6wind.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@mellanox.com>
Consider to create more patches to cleanup the compiler commands to ignore pedantic in the code.
Matan
^ permalink raw reply [flat|nested] 8+ messages in thread