build: document that Meson < 0.45 will fail to list private deps

Message ID 20181115182628.8114-1-bluca@debian.org (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series build: document that Meson < 0.45 will fail to list private deps |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Luca Boccassi Nov. 15, 2018, 6:26 p.m. UTC
  Meson can generate the list of private dependencies of libraries
automatically for the pkgconfig file only since version 0.45.0.

Signed-off-by: Luca Boccassi <bluca@debian.org>
---
 doc/build-sdk-meson.txt | 6 ++++++
 1 file changed, 6 insertions(+)
  

Comments

Bruce Richardson Nov. 16, 2018, 10:26 a.m. UTC | #1
On Thu, Nov 15, 2018 at 06:26:28PM +0000, Luca Boccassi wrote:
> Meson can generate the list of private dependencies of libraries
> automatically for the pkgconfig file only since version 0.45.0.
> 
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
>  doc/build-sdk-meson.txt | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
> index 508e2cb64..229398bb0 100644
> --- a/doc/build-sdk-meson.txt
> +++ b/doc/build-sdk-meson.txt
> @@ -203,3 +203,9 @@ From examples/helloworld/Makefile::
>  
>  	build:
>  		@mkdir -p $@
> +
> +NOTE: for --static builds, DPDK needs to be built with Meson >= 0.45 in order to
> +fully generate the list of private dependencies. If DPDK is built with an older
> +version of Meson, it might be necessary to manually specify dependencies of DPDK
> +PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or the static link
> +step might fail.

Thinking about it more, this doesn't seem to actually be the root-cause of
the reported problem. You said in the other thread that you reproduced the
problem with v0.45.2 which is >= 0.45

/Bruce
  
Luca Boccassi Nov. 16, 2018, 10:52 a.m. UTC | #2
On Fri, 2018-11-16 at 10:26 +0000, Bruce Richardson wrote:
> On Thu, Nov 15, 2018 at 06:26:28PM +0000, Luca Boccassi wrote:
> > Meson can generate the list of private dependencies of libraries
> > automatically for the pkgconfig file only since version 0.45.0.
> > 
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> >  doc/build-sdk-meson.txt | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
> > index 508e2cb64..229398bb0 100644
> > --- a/doc/build-sdk-meson.txt
> > +++ b/doc/build-sdk-meson.txt
> > @@ -203,3 +203,9 @@ From examples/helloworld/Makefile::
> >  
> >  	build:
> >  		@mkdir -p $@
> > +
> > +NOTE: for --static builds, DPDK needs to be built with Meson >=
> > 0.45 in order to
> > +fully generate the list of private dependencies. If DPDK is built
> > with an older
> > +version of Meson, it might be necessary to manually specify
> > dependencies of DPDK
> > +PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or
> > the static link
> > +step might fail.
> 
> Thinking about it more, this doesn't seem to actually be the root-
> cause of
> the reported problem. You said in the other thread that you
> reproduced the
> problem with v0.45.2 which is >= 0.45
> 
> /Bruce

I think the documentation linked there is wrong - looking at the
release notes in the repository, it's 0.46 that mentions that new
feature, not 0.45:

https://github.com/mesonbuild/meson/blob/master/docs/markdown/Release-notes-for-0.46.0.md#improved-generation-of-pkg-config-files-for-static-only-libraries

I'll check if I can repro with 0.46 to confirm
  
Luca Boccassi Nov. 16, 2018, 10:55 a.m. UTC | #3
On Fri, 2018-11-16 at 10:52 +0000, Luca Boccassi wrote:
> On Fri, 2018-11-16 at 10:26 +0000, Bruce Richardson wrote:
> > On Thu, Nov 15, 2018 at 06:26:28PM +0000, Luca Boccassi wrote:
> > > Meson can generate the list of private dependencies of libraries
> > > automatically for the pkgconfig file only since version 0.45.0.
> > > 
> > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > ---
> > >  doc/build-sdk-meson.txt | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > > 
> > > diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
> > > index 508e2cb64..229398bb0 100644
> > > --- a/doc/build-sdk-meson.txt
> > > +++ b/doc/build-sdk-meson.txt
> > > @@ -203,3 +203,9 @@ From examples/helloworld/Makefile::
> > >  
> > >  	build:
> > >  		@mkdir -p $@
> > > +
> > > +NOTE: for --static builds, DPDK needs to be built with Meson >=
> > > 0.45 in order to
> > > +fully generate the list of private dependencies. If DPDK is
> > > built
> > > with an older
> > > +version of Meson, it might be necessary to manually specify
> > > dependencies of DPDK
> > > +PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or
> > > the static link
> > > +step might fail.
> > 
> > Thinking about it more, this doesn't seem to actually be the root-
> > cause of
> > the reported problem. You said in the other thread that you
> > reproduced the
> > problem with v0.45.2 which is >= 0.45
> > 
> > /Bruce
> 
> I think the documentation linked there is wrong - looking at the
> release notes in the repository, it's 0.46 that mentions that new
> feature, not 0.45:
> 
> https://github.com/mesonbuild/meson/blob/master/docs/markdown/Release
> -notes-for-0.46.0.md#improved-generation-of-pkg-config-files-for-
> static-only-libraries
> 
> I'll check if I can repro with 0.46 to confirm

Yes I can confirm that it's 0.46 that actually fixes the issue, so I'll
send a v2 with the updated version.
  

Patch

diff --git a/doc/build-sdk-meson.txt b/doc/build-sdk-meson.txt
index 508e2cb64..229398bb0 100644
--- a/doc/build-sdk-meson.txt
+++ b/doc/build-sdk-meson.txt
@@ -203,3 +203,9 @@  From examples/helloworld/Makefile::
 
 	build:
 		@mkdir -p $@
+
+NOTE: for --static builds, DPDK needs to be built with Meson >= 0.45 in order to
+fully generate the list of private dependencies. If DPDK is built with an older
+version of Meson, it might be necessary to manually specify dependencies of DPDK
+PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or the static link
+step might fail.