* [PATCH 0/1] Update minimum required meson version @ 2022-09-12 17:07 Bruce Richardson 2022-09-12 17:07 ` [PATCH 1/1] build: increase minimum meson version to 0.53 Bruce Richardson 2022-10-07 16:24 ` [PATCH v2] build: increase minimum meson version to 0.53.2 Bruce Richardson 0 siblings, 2 replies; 13+ messages in thread From: Bruce Richardson @ 2022-09-12 17:07 UTC (permalink / raw) To: dev; +Cc: Lincoln Lavoie, techboard, Bruce Richardson Following some brief discussion on the dev list[1], here is a patch to update the minimum meson version for DPDK to 0.53. The update itself is fairly smooth, but, at least in my testing, it exposes some issues with objdump not recognising the debug symbols from some clang binaries. When building, one may see warnings like: objdump: Warning: Unrecognized form: 0x22 These warnings were not previously visible with the 0.49 meson version as the symbol checks were only run in "developer_mode" and auto- detection of developer mode was limited to version 0.53 or later, due to use of the "fs" meson module. [1] http://inbox.dpdk.org/dev/CAOE1vsNoDP0oOLkj2J4LRttXxTL7F4w1sd=KHGOWSvu+onZGFw@mail.gmail.com/ Bruce Richardson (1): build: increase minimum meson version to 0.53 .ci/linux-setup.sh | 2 +- doc/guides/linux_gsg/sys_reqs.rst | 2 +- doc/guides/prog_guide/build-sdk-meson.rst | 2 +- drivers/common/mlx5/linux/meson.build | 2 +- meson.build | 8 +++----- 5 files changed, 7 insertions(+), 9 deletions(-) -- 2.34.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/1] build: increase minimum meson version to 0.53 2022-09-12 17:07 [PATCH 0/1] Update minimum required meson version Bruce Richardson @ 2022-09-12 17:07 ` Bruce Richardson 2022-10-07 13:17 ` David Marchand 2022-10-07 16:24 ` [PATCH v2] build: increase minimum meson version to 0.53.2 Bruce Richardson 1 sibling, 1 reply; 13+ messages in thread From: Bruce Richardson @ 2022-09-12 17:07 UTC (permalink / raw) To: dev; +Cc: Lincoln Lavoie, techboard, Bruce Richardson This patchset bumps the minimum meson version from 0.49.2 to 0.53. Rather than specifying a specific point-release of 0.53, as was done with 0.49, the version specifier is kept to the major release number only for simplicity, as new features are not introduces into bugfix releases of meson. Some new features of interest which can now be used in DPDK with this new minimum meson version: * can do header-file checks directly inside find_library calls, rather than needing a separate check.[v0.50]. * can pass multiple cross-files at the same time when cross-compiling [v0.51]. * "alias_target" function, to allow use to give better/shorter names for particular build objects [v0.52]. * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets when those tools are present and config dotfiles are present. Similarly ctags and cscope are added as targets when those tools are present [v0.53] * meson module for filesystem operations, so meson can now check for the presence of particlar files or directories [v0.53]. * "summary" function to provide a configuration summary at the end of the meson run [v0.53]. Plus many other features. See [1] for full details of each version. [1] https://mesonbuild.com/Release-notes.html Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- .ci/linux-setup.sh | 2 +- doc/guides/linux_gsg/sys_reqs.rst | 2 +- doc/guides/prog_guide/build-sdk-meson.rst | 2 +- drivers/common/mlx5/linux/meson.build | 2 +- meson.build | 8 +++----- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh index f5ef6b1b98..fd5b033051 100755 --- a/.ci/linux-setup.sh +++ b/.ci/linux-setup.sh @@ -4,7 +4,7 @@ [ "$(id -u)" != '0' ] || alias sudo= # need to install as 'root' since some of the unit tests won't run without it -sudo python3 -m pip install --upgrade 'meson==0.49.2' +sudo python3 -m pip install --upgrade 'meson==0.53' # setup hugepages. error ignored because having hugepage is not mandatory. cat /proc/meminfo diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst index 08d45898f0..a13aed76e1 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -43,7 +43,7 @@ Compilation of the DPDK * Python 3.5 or later. -* Meson (version 0.49.2+) and ninja +* Meson (version 0.53+) and ninja * ``meson`` & ``ninja-build`` packages in most Linux distributions * If the packaged version is below the minimum version, the latest versions diff --git a/doc/guides/prog_guide/build-sdk-meson.rst b/doc/guides/prog_guide/build-sdk-meson.rst index 30ce805902..f729bf1773 100644 --- a/doc/guides/prog_guide/build-sdk-meson.rst +++ b/doc/guides/prog_guide/build-sdk-meson.rst @@ -35,7 +35,7 @@ The ``meson`` tool is used to configure a DPDK build. On most Linux distributions this can be got using the local package management system, e.g. ``dnf install meson`` or ``apt-get install meson``. If meson is not available as a suitable package, it can also be installed using the Python -3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.49.2 of meson is +3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.53 of meson is required - if the version packaged is too old, the latest version is generally available from "pip". diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build index f9d1937571..e77b46d157 100644 --- a/drivers/common/mlx5/linux/meson.build +++ b/drivers/common/mlx5/linux/meson.build @@ -47,7 +47,7 @@ endif libmtcr_ul_found = false lib = cc.find_library('mtcr_ul', required:false) -if lib.found() and run_command('meson', '--version').stdout().version_compare('>= 0.49.2') +if lib.found() libmtcr_ul_found = true ext_deps += lib endif diff --git a/meson.build b/meson.build index 7d6643da3a..87e1e48f09 100644 --- a/meson.build +++ b/meson.build @@ -12,16 +12,14 @@ project('DPDK', 'C', 'default_library=static', 'warning_level=2', ], - meson_version: '>= 0.49.2' + meson_version: '>= 0.53' ) # check for developer mode developer_mode = false if get_option('developer_mode').auto() - if meson.version().version_compare('>=0.53') # fs module available - fs = import('fs') - developer_mode = fs.exists('.git') - endif + fs = import('fs') + developer_mode = fs.exists('.git') else developer_mode = get_option('developer_mode').enabled() endif -- 2.34.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/1] build: increase minimum meson version to 0.53 2022-09-12 17:07 ` [PATCH 1/1] build: increase minimum meson version to 0.53 Bruce Richardson @ 2022-10-07 13:17 ` David Marchand 2022-10-07 14:11 ` Bruce Richardson 0 siblings, 1 reply; 13+ messages in thread From: David Marchand @ 2022-10-07 13:17 UTC (permalink / raw) To: Bruce Richardson, Thomas Monjalon; +Cc: dev, Lincoln Lavoie, techboard On Mon, Sep 12, 2022 at 7:08 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > This patchset bumps the minimum meson version from 0.49.2 to 0.53. > Rather than specifying a specific point-release of 0.53, as was done > with 0.49, the version specifier is kept to the major release number > only for simplicity, as new features are not introduces into bugfix > releases of meson. > > Some new features of interest which can now be used in DPDK with this > new minimum meson version: > > * can do header-file checks directly inside find_library calls, rather > than needing a separate check.[v0.50]. > * can pass multiple cross-files at the same time when cross-compiling > [v0.51]. > * "alias_target" function, to allow use to give better/shorter names > for particular build objects [v0.52]. > * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets > when those tools are present and config dotfiles are present. > Similarly ctags and cscope are added as targets when those tools are > present [v0.53] > * meson module for filesystem operations, so meson can now check for the > presence of particlar files or directories [v0.53]. > * "summary" function to provide a configuration summary at the end of > the meson run [v0.53]. > > Plus many other features. See [1] for full details of each version. > > [1] https://mesonbuild.com/Release-notes.html > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> - We have an issue with mingw cross compilation. https://github.com/ovsrobot/dpdk/actions/runs/3039251235/jobs/4893964186 + meson build --werror --cross-file config/x86/cross-mingw -Dexamples=helloworld -Dplatform=generic --default-library=static --buildtype=debugoptimized -Dcheck_includes=true The Meson build system Version: 0.53.0 Source dir: /home/runner/work/dpdk/dpdk Build dir: /home/runner/work/dpdk/dpdk/build Build type: cross build Program cat found: YES (/usr/bin/cat) Project name: DPDK Project version: 22.11.0-rc0 C compiler for the build machine: ccache gcc (gcc 9.4.0 "gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0") C linker for the build machine: gcc GNU ld.bfd 2.34 meson.build:4:0: ERROR: Unable to determine dynamic linker - I reproduced locally, it looks like meson is trying to pass some -fuse-ld option that is not understood. 4577 write(2, "x86_64-w64-mingw32-gcc: error: unrecognized command line option \342\200\230-fuse-ld=x86_64-w64-mingw32-ld\342\200\231\n", 101) = 101 - Upgrading to 0.53.1, I don't see the issue anymore for mingw, so I pushed a branch in GHA to get a status for other targets. https://github.com/david-marchand/dpdk/actions/runs/3205007946 -- David Marchand ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/1] build: increase minimum meson version to 0.53 2022-10-07 13:17 ` David Marchand @ 2022-10-07 14:11 ` Bruce Richardson 2022-10-07 15:26 ` David Marchand 0 siblings, 1 reply; 13+ messages in thread From: Bruce Richardson @ 2022-10-07 14:11 UTC (permalink / raw) To: David Marchand; +Cc: Thomas Monjalon, dev, Lincoln Lavoie, techboard On Fri, Oct 07, 2022 at 03:17:57PM +0200, David Marchand wrote: > On Mon, Sep 12, 2022 at 7:08 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > This patchset bumps the minimum meson version from 0.49.2 to 0.53. > > Rather than specifying a specific point-release of 0.53, as was done > > with 0.49, the version specifier is kept to the major release number > > only for simplicity, as new features are not introduces into bugfix > > releases of meson. > > > > Some new features of interest which can now be used in DPDK with this > > new minimum meson version: > > > > * can do header-file checks directly inside find_library calls, rather > > than needing a separate check.[v0.50]. > > * can pass multiple cross-files at the same time when cross-compiling > > [v0.51]. > > * "alias_target" function, to allow use to give better/shorter names > > for particular build objects [v0.52]. > > * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets > > when those tools are present and config dotfiles are present. > > Similarly ctags and cscope are added as targets when those tools are > > present [v0.53] > > * meson module for filesystem operations, so meson can now check for the > > presence of particlar files or directories [v0.53]. > > * "summary" function to provide a configuration summary at the end of > > the meson run [v0.53]. > > > > Plus many other features. See [1] for full details of each version. > > > > [1] https://mesonbuild.com/Release-notes.html > > > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > > - We have an issue with mingw cross compilation. > https://github.com/ovsrobot/dpdk/actions/runs/3039251235/jobs/4893964186 > > + meson build --werror --cross-file config/x86/cross-mingw > -Dexamples=helloworld -Dplatform=generic --default-library=static > --buildtype=debugoptimized -Dcheck_includes=true > The Meson build system > Version: 0.53.0 > Source dir: /home/runner/work/dpdk/dpdk > Build dir: /home/runner/work/dpdk/dpdk/build > Build type: cross build > Program cat found: YES (/usr/bin/cat) > Project name: DPDK > Project version: 22.11.0-rc0 > C compiler for the build machine: ccache gcc (gcc 9.4.0 "gcc (Ubuntu > 9.4.0-1ubuntu1~20.04.1) 9.4.0") > C linker for the build machine: gcc GNU ld.bfd 2.34 > > meson.build:4:0: ERROR: Unable to determine dynamic linker > > > - I reproduced locally, it looks like meson is trying to pass some > -fuse-ld option that is not understood. > 4577 write(2, "x86_64-w64-mingw32-gcc: error: unrecognized command > line option \342\200\230-fuse-ld=x86_64-w64-mingw32-ld\342\200\231\n", > 101) = 101 > > > - Upgrading to 0.53.1, I don't see the issue anymore for mingw, so I > pushed a branch in GHA to get a status for other targets. > https://github.com/david-marchand/dpdk/actions/runs/3205007946 > So minimum should be 0.53.1 rather than 0.53 then? ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/1] build: increase minimum meson version to 0.53 2022-10-07 14:11 ` Bruce Richardson @ 2022-10-07 15:26 ` David Marchand 2022-10-07 15:34 ` Bruce Richardson 0 siblings, 1 reply; 13+ messages in thread From: David Marchand @ 2022-10-07 15:26 UTC (permalink / raw) To: Bruce Richardson; +Cc: Thomas Monjalon, dev, Lincoln Lavoie, techboard On Fri, Oct 7, 2022 at 4:11 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > - We have an issue with mingw cross compilation. > > https://github.com/ovsrobot/dpdk/actions/runs/3039251235/jobs/4893964186 > > > > + meson build --werror --cross-file config/x86/cross-mingw > > -Dexamples=helloworld -Dplatform=generic --default-library=static > > --buildtype=debugoptimized -Dcheck_includes=true > > The Meson build system > > Version: 0.53.0 > > Source dir: /home/runner/work/dpdk/dpdk > > Build dir: /home/runner/work/dpdk/dpdk/build > > Build type: cross build > > Program cat found: YES (/usr/bin/cat) > > Project name: DPDK > > Project version: 22.11.0-rc0 > > C compiler for the build machine: ccache gcc (gcc 9.4.0 "gcc (Ubuntu > > 9.4.0-1ubuntu1~20.04.1) 9.4.0") > > C linker for the build machine: gcc GNU ld.bfd 2.34 > > > > meson.build:4:0: ERROR: Unable to determine dynamic linker > > > > > > - I reproduced locally, it looks like meson is trying to pass some > > -fuse-ld option that is not understood. > > 4577 write(2, "x86_64-w64-mingw32-gcc: error: unrecognized command > > line option \342\200\230-fuse-ld=x86_64-w64-mingw32-ld\342\200\231\n", > > 101) = 101 > > > > > > - Upgrading to 0.53.1, I don't see the issue anymore for mingw, so I > > pushed a branch in GHA to get a status for other targets. > > https://github.com/david-marchand/dpdk/actions/runs/3205007946 > > > So minimum should be 0.53.1 rather than 0.53 then? > - That's what my test shows. Fyi, 0.53.2 works too. - With 0.53, it seems the meaning of the ld variable (in meson config file) changed. I am unclear though if our current configs still make sense. -- David Marchand ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/1] build: increase minimum meson version to 0.53 2022-10-07 15:26 ` David Marchand @ 2022-10-07 15:34 ` Bruce Richardson 2022-10-07 15:49 ` David Marchand 0 siblings, 1 reply; 13+ messages in thread From: Bruce Richardson @ 2022-10-07 15:34 UTC (permalink / raw) To: David Marchand; +Cc: Thomas Monjalon, dev, Lincoln Lavoie, techboard On Fri, Oct 07, 2022 at 05:26:05PM +0200, David Marchand wrote: > On Fri, Oct 7, 2022 at 4:11 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > - We have an issue with mingw cross compilation. > > > https://github.com/ovsrobot/dpdk/actions/runs/3039251235/jobs/4893964186 > > > > > > + meson build --werror --cross-file config/x86/cross-mingw > > > -Dexamples=helloworld -Dplatform=generic --default-library=static > > > --buildtype=debugoptimized -Dcheck_includes=true > > > The Meson build system > > > Version: 0.53.0 > > > Source dir: /home/runner/work/dpdk/dpdk > > > Build dir: /home/runner/work/dpdk/dpdk/build > > > Build type: cross build > > > Program cat found: YES (/usr/bin/cat) > > > Project name: DPDK > > > Project version: 22.11.0-rc0 > > > C compiler for the build machine: ccache gcc (gcc 9.4.0 "gcc (Ubuntu > > > 9.4.0-1ubuntu1~20.04.1) 9.4.0") > > > C linker for the build machine: gcc GNU ld.bfd 2.34 > > > > > > meson.build:4:0: ERROR: Unable to determine dynamic linker > > > > > > > > > - I reproduced locally, it looks like meson is trying to pass some > > > -fuse-ld option that is not understood. > > > 4577 write(2, "x86_64-w64-mingw32-gcc: error: unrecognized command > > > line option \342\200\230-fuse-ld=x86_64-w64-mingw32-ld\342\200\231\n", > > > 101) = 101 > > > > > > > > > - Upgrading to 0.53.1, I don't see the issue anymore for mingw, so I > > > pushed a branch in GHA to get a status for other targets. > > > https://github.com/david-marchand/dpdk/actions/runs/3205007946 > > > > > So minimum should be 0.53.1 rather than 0.53 then? > > > > - That's what my test shows. > Fyi, 0.53.2 works too. > As latest point release of 0.53 that is probably better choice. > > - With 0.53, it seems the meaning of the ld variable (in meson config > file) changed. > I am unclear though if our current configs still make sense. > Do you want more time to examine this, or shall I respin this patch with 0.53.2 as minimum version? /Bruce ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/1] build: increase minimum meson version to 0.53 2022-10-07 15:34 ` Bruce Richardson @ 2022-10-07 15:49 ` David Marchand 0 siblings, 0 replies; 13+ messages in thread From: David Marchand @ 2022-10-07 15:49 UTC (permalink / raw) To: Bruce Richardson; +Cc: Thomas Monjalon, dev, Lincoln Lavoie, techboard On Fri, Oct 7, 2022 at 5:34 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Fri, Oct 07, 2022 at 05:26:05PM +0200, David Marchand wrote: > > On Fri, Oct 7, 2022 at 4:11 PM Bruce Richardson > > <bruce.richardson@intel.com> wrote: > > > > - We have an issue with mingw cross compilation. > > > > https://github.com/ovsrobot/dpdk/actions/runs/3039251235/jobs/4893964186 > > > > > > > > + meson build --werror --cross-file config/x86/cross-mingw > > > > -Dexamples=helloworld -Dplatform=generic --default-library=static > > > > --buildtype=debugoptimized -Dcheck_includes=true > > > > The Meson build system > > > > Version: 0.53.0 > > > > Source dir: /home/runner/work/dpdk/dpdk > > > > Build dir: /home/runner/work/dpdk/dpdk/build > > > > Build type: cross build > > > > Program cat found: YES (/usr/bin/cat) > > > > Project name: DPDK > > > > Project version: 22.11.0-rc0 > > > > C compiler for the build machine: ccache gcc (gcc 9.4.0 "gcc (Ubuntu > > > > 9.4.0-1ubuntu1~20.04.1) 9.4.0") > > > > C linker for the build machine: gcc GNU ld.bfd 2.34 > > > > > > > > meson.build:4:0: ERROR: Unable to determine dynamic linker > > > > > > > > > > > > - I reproduced locally, it looks like meson is trying to pass some > > > > -fuse-ld option that is not understood. > > > > 4577 write(2, "x86_64-w64-mingw32-gcc: error: unrecognized command > > > > line option \342\200\230-fuse-ld=x86_64-w64-mingw32-ld\342\200\231\n", > > > > 101) = 101 > > > > > > > > > > > > - Upgrading to 0.53.1, I don't see the issue anymore for mingw, so I > > > > pushed a branch in GHA to get a status for other targets. > > > > https://github.com/david-marchand/dpdk/actions/runs/3205007946 > > > > > > > So minimum should be 0.53.1 rather than 0.53 then? > > > > > > > - That's what my test shows. > > Fyi, 0.53.2 works too. > > > As latest point release of 0.53 that is probably better choice. > > > > > - With 0.53, it seems the meaning of the ld variable (in meson config > > file) changed. > > I am unclear though if our current configs still make sense. > > > Do you want more time to examine this, or shall I respin this patch with > 0.53.2 as minimum version? https://github.com/mesonbuild/meson/issues/6442 https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11dd389fcb1152a4e8ead8b8782 I understand that the ld variable meaning has been restored, so nothing to change for us. Please respin to 0.53.2, with a note about this issue for posterity. Thanks. -- David Marchand ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2] build: increase minimum meson version to 0.53.2 2022-09-12 17:07 [PATCH 0/1] Update minimum required meson version Bruce Richardson 2022-09-12 17:07 ` [PATCH 1/1] build: increase minimum meson version to 0.53 Bruce Richardson @ 2022-10-07 16:24 ` Bruce Richardson 2022-10-07 19:13 ` David Marchand 1 sibling, 1 reply; 13+ messages in thread From: Bruce Richardson @ 2022-10-07 16:24 UTC (permalink / raw) To: dev; +Cc: david.marchand, Bruce Richardson This patchset bumps the minimum meson version from 0.49.2 to 0.53.2. Ideally, the minimum version should be 0.53 without a point release, but some DPDK builds (mingw) are broken with 0.53.0 due to issue[1], fixed by commit[2] in 0.53.1. Therefore we use the latest point release from 0.53 branch i.e. 0.53.2. Some new features of interest which can now be used in DPDK with this new minimum meson version: * can do header-file checks directly inside find_library calls, rather than needing a separate check.[v0.50]. * can pass multiple cross-files at the same time when cross-compiling [v0.51]. * "alias_target" function, to allow use to give better/shorter names for particular build objects [v0.52]. * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets when those tools are present and config dotfiles are present. Similarly ctags and cscope are added as targets when those tools are present [v0.53] * meson module for filesystem operations, so meson can now check for the presence of particlar files or directories [v0.53]. * "summary" function to provide a configuration summary at the end of the meson run [v0.53]. Plus many other features. See [3] for full details of each version. [1] https://github.com/mesonbuild/meson/issues/6442 [2] https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11dd389fcb1152a4e8ead8b8782 [3] https://mesonbuild.com/Release-notes.html Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- .ci/linux-setup.sh | 2 +- doc/guides/linux_gsg/sys_reqs.rst | 2 +- doc/guides/prog_guide/build-sdk-meson.rst | 2 +- drivers/common/mlx5/linux/meson.build | 2 +- meson.build | 8 +++----- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh index f5ef6b1b98..975bf32144 100755 --- a/.ci/linux-setup.sh +++ b/.ci/linux-setup.sh @@ -4,7 +4,7 @@ [ "$(id -u)" != '0' ] || alias sudo= # need to install as 'root' since some of the unit tests won't run without it -sudo python3 -m pip install --upgrade 'meson==0.49.2' +sudo python3 -m pip install --upgrade 'meson==0.53.2' # setup hugepages. error ignored because having hugepage is not mandatory. cat /proc/meminfo diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst index 08d45898f0..095d702497 100644 --- a/doc/guides/linux_gsg/sys_reqs.rst +++ b/doc/guides/linux_gsg/sys_reqs.rst @@ -43,7 +43,7 @@ Compilation of the DPDK * Python 3.5 or later. -* Meson (version 0.49.2+) and ninja +* Meson (version 0.53.2+) and ninja * ``meson`` & ``ninja-build`` packages in most Linux distributions * If the packaged version is below the minimum version, the latest versions diff --git a/doc/guides/prog_guide/build-sdk-meson.rst b/doc/guides/prog_guide/build-sdk-meson.rst index 30ce805902..58d9b553a0 100644 --- a/doc/guides/prog_guide/build-sdk-meson.rst +++ b/doc/guides/prog_guide/build-sdk-meson.rst @@ -35,7 +35,7 @@ The ``meson`` tool is used to configure a DPDK build. On most Linux distributions this can be got using the local package management system, e.g. ``dnf install meson`` or ``apt-get install meson``. If meson is not available as a suitable package, it can also be installed using the Python -3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.49.2 of meson is +3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.53.2 or later of meson is required - if the version packaged is too old, the latest version is generally available from "pip". diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build index f9d1937571..e77b46d157 100644 --- a/drivers/common/mlx5/linux/meson.build +++ b/drivers/common/mlx5/linux/meson.build @@ -47,7 +47,7 @@ endif libmtcr_ul_found = false lib = cc.find_library('mtcr_ul', required:false) -if lib.found() and run_command('meson', '--version').stdout().version_compare('>= 0.49.2') +if lib.found() libmtcr_ul_found = true ext_deps += lib endif diff --git a/meson.build b/meson.build index 8b1b09ead5..cf3343a547 100644 --- a/meson.build +++ b/meson.build @@ -12,16 +12,14 @@ project('DPDK', 'C', 'default_library=static', 'warning_level=2', ], - meson_version: '>= 0.49.2' + meson_version: '>= 0.53.2' ) # check for developer mode developer_mode = false if get_option('developer_mode').auto() - if meson.version().version_compare('>=0.53') # fs module available - fs = import('fs') - developer_mode = fs.exists('.git') - endif + fs = import('fs') + developer_mode = fs.exists('.git') else developer_mode = get_option('developer_mode').enabled() endif -- 2.34.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] build: increase minimum meson version to 0.53.2 2022-10-07 16:24 ` [PATCH v2] build: increase minimum meson version to 0.53.2 Bruce Richardson @ 2022-10-07 19:13 ` David Marchand 2022-10-10 5:23 ` Tu, Lijuan 2022-10-10 14:53 ` David Marchand 0 siblings, 2 replies; 13+ messages in thread From: David Marchand @ 2022-10-07 19:13 UTC (permalink / raw) To: Bruce Richardson, Thomas Monjalon Cc: dev, ci, Lincoln Lavoie, Tu, Lijuan, Chen, Zhaoyan, Mcnamara, John On Fri, Oct 7, 2022 at 6:24 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > This patchset bumps the minimum meson version from 0.49.2 to 0.53.2. > Ideally, the minimum version should be 0.53 without a point release, but > some DPDK builds (mingw) are broken with 0.53.0 due to issue[1], fixed > by commit[2] in 0.53.1. Therefore we use the latest point release from > 0.53 branch i.e. 0.53.2. > > Some new features of interest which can now be used in DPDK with this > new minimum meson version: > > * can do header-file checks directly inside find_library calls, rather > than needing a separate check.[v0.50]. > * can pass multiple cross-files at the same time when cross-compiling > [v0.51]. > * "alias_target" function, to allow use to give better/shorter names > for particular build objects [v0.52]. > * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets > when those tools are present and config dotfiles are present. > Similarly ctags and cscope are added as targets when those tools are > present [v0.53] > * meson module for filesystem operations, so meson can now check for the > presence of particlar files or directories [v0.53]. > * "summary" function to provide a configuration summary at the end of > the meson run [v0.53]. > > Plus many other features. See [3] for full details of each version. > > [1] https://github.com/mesonbuild/meson/issues/6442 > [2] https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11dd389fcb1152a4e8ead8b8782 Nit: we can shorten this link and keep only 12 chars for hash. https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579 > [3] https://mesonbuild.com/Release-notes.html > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: David Marchand <david.marchand@redhat.com> Looking at the test reports for this patch, focusing on compilation: - it looks like Intel envs are already using a recent enough meson, - the change passes fine in GHA now, - UNH envs are reporting failures, but that's expected since the images must be refreshed once this patch is merged, So from this aspect, I think we are all set to merge this patch. It seems the "intel-Testing" test is in ... berserk mode and spewing errors for all patches since 10/03. No clue if we have an issue in the main branch, and this test logs are useless. I'll wait for Intel PRC to be back and ignore for now. -- David Marchand ^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH v2] build: increase minimum meson version to 0.53.2 2022-10-07 19:13 ` David Marchand @ 2022-10-10 5:23 ` Tu, Lijuan 2022-10-10 7:48 ` David Marchand 2022-10-10 14:53 ` David Marchand 1 sibling, 1 reply; 13+ messages in thread From: Tu, Lijuan @ 2022-10-10 5:23 UTC (permalink / raw) To: David Marchand, Richardson, Bruce, Thomas Monjalon Cc: dev, ci, Lincoln Lavoie, Chen, Zhaoyan, Mcnamara, John > -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Saturday, October 8, 2022 3:13 AM > To: Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon > <thomas@monjalon.net> > Cc: dev@dpdk.org; ci@dpdk.org; Lincoln Lavoie <lylavoie@iol.unh.edu>; Tu, > Lijuan <lijuan.tu@intel.com>; Chen, Zhaoyan <zhaoyan.chen@intel.com>; > Mcnamara, John <john.mcnamara@intel.com> > Subject: Re: [PATCH v2] build: increase minimum meson version to 0.53.2 > > On Fri, Oct 7, 2022 at 6:24 PM Bruce Richardson <bruce.richardson@intel.com> > wrote: > > > > This patchset bumps the minimum meson version from 0.49.2 to 0.53.2. > > Ideally, the minimum version should be 0.53 without a point release, > > but some DPDK builds (mingw) are broken with 0.53.0 due to issue[1], > > fixed by commit[2] in 0.53.1. Therefore we use the latest point > > release from > > 0.53 branch i.e. 0.53.2. > > > > Some new features of interest which can now be used in DPDK with this > > new minimum meson version: > > > > * can do header-file checks directly inside find_library calls, rather > > than needing a separate check.[v0.50]. > > * can pass multiple cross-files at the same time when cross-compiling > > [v0.51]. > > * "alias_target" function, to allow use to give better/shorter names > > for particular build objects [v0.52]. > > * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets > > when those tools are present and config dotfiles are present. > > Similarly ctags and cscope are added as targets when those tools are > > present [v0.53] > > * meson module for filesystem operations, so meson can now check for the > > presence of particlar files or directories [v0.53]. > > * "summary" function to provide a configuration summary at the end of > > the meson run [v0.53]. > > > > Plus many other features. See [3] for full details of each version. > > > > [1] https://github.com/mesonbuild/meson/issues/6442 > > [2] > > > https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11d > > d389fcb1152a4e8ead8b8782 > > Nit: we can shorten this link and keep only 12 chars for hash. > https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579 > > > [3] https://mesonbuild.com/Release-notes.html > > > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > > Acked-by: David Marchand <david.marchand@redhat.com> > > > Looking at the test reports for this patch, focusing on compilation: > - it looks like Intel envs are already using a recent enough meson, > - the change passes fine in GHA now, > - UNH envs are reporting failures, but that's expected since the images must be > refreshed once this patch is merged, > > So from this aspect, I think we are all set to merge this patch. > > > It seems the "intel-Testing" test is in ... berserk mode and spewing errors for all > patches since 10/03. > No clue if we have an issue in the main branch, and this test logs are useless. > > I'll wait for Intel PRC to be back and ignore for now. Yes, the main branch had an issue and has been fixed now. Intel-Testing is back to normal. It works fine. > > > -- > David Marchand ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] build: increase minimum meson version to 0.53.2 2022-10-10 5:23 ` Tu, Lijuan @ 2022-10-10 7:48 ` David Marchand 2022-10-13 12:51 ` Tu, Lijuan 0 siblings, 1 reply; 13+ messages in thread From: David Marchand @ 2022-10-10 7:48 UTC (permalink / raw) To: Tu, Lijuan Cc: Richardson, Bruce, Thomas Monjalon, dev, ci, Lincoln Lavoie, Chen, Zhaoyan, Mcnamara, John On Mon, Oct 10, 2022 at 7:23 AM Tu, Lijuan <lijuan.tu@intel.com> wrote: > > It seems the "intel-Testing" test is in ... berserk mode and spewing errors for all > > patches since 10/03. > > No clue if we have an issue in the main branch, and this test logs are useless. > > > > I'll wait for Intel PRC to be back and ignore for now. > > Yes, the main branch had an issue and has been fixed now. Intel-Testing is back to normal. It works fine. The only info we had was that "something" was broken. Example: http://mails.dpdk.org/archives/test-report/2022-October/313054.html When other CI report a failure, executed commands and logs are available in GHA and UNH dashboard, downloadable as zip files. So it is relatively easy to figure out if the issue was due to an infrastructure problem or if it was a test failure. I don't think Intel CI provide such info. If this is the case, please document it. Otherwise, please Intel CI team, work on providing the same kind of info. Thanks. -- David Marchand ^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH v2] build: increase minimum meson version to 0.53.2 2022-10-10 7:48 ` David Marchand @ 2022-10-13 12:51 ` Tu, Lijuan 0 siblings, 0 replies; 13+ messages in thread From: Tu, Lijuan @ 2022-10-13 12:51 UTC (permalink / raw) To: David Marchand Cc: Richardson, Bruce, Thomas Monjalon, dev, ci, Lincoln Lavoie, Chen, Zhaoyan, Mcnamara, John > -----Original Message----- > From: David Marchand <david.marchand@redhat.com> > Sent: Monday, October 10, 2022 3:48 PM > To: Tu, Lijuan <lijuan.tu@intel.com> > Cc: Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon > <thomas@monjalon.net>; dev@dpdk.org; ci@dpdk.org; Lincoln Lavoie > <lylavoie@iol.unh.edu>; Chen, Zhaoyan <zhaoyan.chen@intel.com>; Mcnamara, > John <john.mcnamara@intel.com> > Subject: Re: [PATCH v2] build: increase minimum meson version to 0.53.2 > > On Mon, Oct 10, 2022 at 7:23 AM Tu, Lijuan <lijuan.tu@intel.com> wrote: > > > It seems the "intel-Testing" test is in ... berserk mode and spewing > > > errors for all patches since 10/03. > > > No clue if we have an issue in the main branch, and this test logs are useless. > > > > > > I'll wait for Intel PRC to be back and ignore for now. > > > > Yes, the main branch had an issue and has been fixed now. Intel-Testing is back > to normal. It works fine. > > The only info we had was that "something" was broken. > Example: http://mails.dpdk.org/archives/test-report/2022- > October/313054.html > > > When other CI report a failure, executed commands and logs are available in > GHA and UNH dashboard, downloadable as zip files. > So it is relatively easy to figure out if the issue was due to an infrastructure > problem or if it was a test failure. > > > I don't think Intel CI provide such info. If this is the case, please document it. > Otherwise, please Intel CI team, work on providing the same kind of info. Intel don't provide such info, and I don't think community provides API or services to support it. The https://lab.dpdk.org/results/dashboard/ is for UNH, If dashboard could provide a API for intel, we'd like to provide detail logs. We need community 's help to set up this, I think we can discus it in CI meeting. > > > > Thanks. > -- > David Marchand ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] build: increase minimum meson version to 0.53.2 2022-10-07 19:13 ` David Marchand 2022-10-10 5:23 ` Tu, Lijuan @ 2022-10-10 14:53 ` David Marchand 1 sibling, 0 replies; 13+ messages in thread From: David Marchand @ 2022-10-10 14:53 UTC (permalink / raw) To: Bruce Richardson Cc: dev, ci, Lincoln Lavoie, Tu, Lijuan, Chen, Zhaoyan, Mcnamara, John, Thomas Monjalon On Fri, Oct 7, 2022 at 9:13 PM David Marchand <david.marchand@redhat.com> wrote: > > On Fri, Oct 7, 2022 at 6:24 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > This patchset bumps the minimum meson version from 0.49.2 to 0.53.2. > > Ideally, the minimum version should be 0.53 without a point release, but > > some DPDK builds (mingw) are broken with 0.53.0 due to issue[1], fixed > > by commit[2] in 0.53.1. Therefore we use the latest point release from > > 0.53 branch i.e. 0.53.2. > > > > Some new features of interest which can now be used in DPDK with this > > new minimum meson version: > > > > * can do header-file checks directly inside find_library calls, rather > > than needing a separate check.[v0.50]. > > * can pass multiple cross-files at the same time when cross-compiling > > [v0.51]. > > * "alias_target" function, to allow use to give better/shorter names > > for particular build objects [v0.52]. > > * auto-generation of clang-format [v0.50] and clang-tidy[v0.52] targets > > when those tools are present and config dotfiles are present. > > Similarly ctags and cscope are added as targets when those tools are > > present [v0.53] > > * meson module for filesystem operations, so meson can now check for the > > presence of particlar files or directories [v0.53]. > > * "summary" function to provide a configuration summary at the end of > > the meson run [v0.53]. > > > > Plus many other features. See [3] for full details of each version. > > > > [1] https://github.com/mesonbuild/meson/issues/6442 > > [2] https://github.com/mesonbuild/meson/pull/6457/commits/8e7a7c36b579c11dd389fcb1152a4e8ead8b8782 > > [3] https://mesonbuild.com/Release-notes.html > > > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > Acked-by: David Marchand <david.marchand@redhat.com> Applied, thanks. -- David Marchand ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2022-10-13 12:51 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-09-12 17:07 [PATCH 0/1] Update minimum required meson version Bruce Richardson 2022-09-12 17:07 ` [PATCH 1/1] build: increase minimum meson version to 0.53 Bruce Richardson 2022-10-07 13:17 ` David Marchand 2022-10-07 14:11 ` Bruce Richardson 2022-10-07 15:26 ` David Marchand 2022-10-07 15:34 ` Bruce Richardson 2022-10-07 15:49 ` David Marchand 2022-10-07 16:24 ` [PATCH v2] build: increase minimum meson version to 0.53.2 Bruce Richardson 2022-10-07 19:13 ` David Marchand 2022-10-10 5:23 ` Tu, Lijuan 2022-10-10 7:48 ` David Marchand 2022-10-13 12:51 ` Tu, Lijuan 2022-10-10 14:53 ` David Marchand
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).