[v2,1/1] doc: add pkg-config requirement for applications

Message ID 20201126154218.1222717-1-thomas@monjalon.net (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [v2,1/1] doc: add pkg-config requirement for applications |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Thomas Monjalon Nov. 26, 2020, 3:42 p.m. UTC
  From: Gregory Etelson <getelson@nvidia.com>

DPDK relies on pkg-config(1) to provide correct parameters for
compiler and linker used in application build.  Inaccurate build
parameters, produced by pkg-config from DPDK .pc files could fail
application build or cause unpredicted results during application
runtime.

Update system requirements doc about a bug in pkg-config v0.27
used in RHEL-7.

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---

v2: make a more global note about the need for pkg-config in app build

---
 doc/guides/linux_gsg/sys_reqs.rst | 13 +++++++++++++
 1 file changed, 13 insertions(+)
  

Comments

Bruce Richardson Nov. 26, 2020, 4:24 p.m. UTC | #1
On Thu, Nov 26, 2020 at 04:42:18PM +0100, Thomas Monjalon wrote:
> From: Gregory Etelson <getelson@nvidia.com>
> 
> DPDK relies on pkg-config(1) to provide correct parameters for
> compiler and linker used in application build.  Inaccurate build
> parameters, produced by pkg-config from DPDK .pc files could fail
> application build or cause unpredicted results during application
> runtime.
> 
> Update system requirements doc about a bug in pkg-config v0.27
> used in RHEL-7.
> 
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> 
> v2: make a more global note about the need for pkg-config in app build
> 
> ---
>  doc/guides/linux_gsg/sys_reqs.rst | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
> index 6ecdc04aa9..ab38284950 100644
> --- a/doc/guides/linux_gsg/sys_reqs.rst
> +++ b/doc/guides/linux_gsg/sys_reqs.rst
> @@ -94,6 +94,19 @@ found in that driver's documentation in the relevant DPDK guide document,
>  e.g. :doc:`../nics/index`
>  
>  
> +Building DPDK Applications
> +--------------------------
> +
> +The tool pkg-config or pkgconf, integrated in most build systems,
> +must be used to parse options and dependencies from libdpdk.pc.
> +
> +.. note::
> +
> +   pkg-config 0.27, supplied with RHEL-7,
> +   does not process correctly Libs.private section,

"correctly process the Lib.private..." or "process the Libs.private section
correctly..." would read better, I think.

> +   resulting in misses in statically linked applications.

"misses" is a strange term to use here, and I think it needs clarification
on what exactly is being missed. How about generalizing it a bit:
"resulting in statically linked applications not being linked properly."

> +
> +
>  Running DPDK Applications
>  -------------------------
>  
> -- 
> 2.28.0
>
  
Thomas Monjalon Nov. 26, 2020, 4:38 p.m. UTC | #2
26/11/2020 17:24, Bruce Richardson:
> On Thu, Nov 26, 2020 at 04:42:18PM +0100, Thomas Monjalon wrote:
> > From: Gregory Etelson <getelson@nvidia.com>
> > 
> > DPDK relies on pkg-config(1) to provide correct parameters for
> > compiler and linker used in application build.  Inaccurate build
> > parameters, produced by pkg-config from DPDK .pc files could fail
> > application build or cause unpredicted results during application
> > runtime.
> > 
> > Update system requirements doc about a bug in pkg-config v0.27
> > used in RHEL-7.
> > 
> > Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> > 
> > v2: make a more global note about the need for pkg-config in app build
> > 
> > ---
> >  doc/guides/linux_gsg/sys_reqs.rst | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> > 
> > diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
> > index 6ecdc04aa9..ab38284950 100644
> > --- a/doc/guides/linux_gsg/sys_reqs.rst
> > +++ b/doc/guides/linux_gsg/sys_reqs.rst
> > @@ -94,6 +94,19 @@ found in that driver's documentation in the relevant DPDK guide document,
> >  e.g. :doc:`../nics/index`
> >  
> >  
> > +Building DPDK Applications
> > +--------------------------
> > +
> > +The tool pkg-config or pkgconf, integrated in most build systems,
> > +must be used to parse options and dependencies from libdpdk.pc.
> > +
> > +.. note::
> > +
> > +   pkg-config 0.27, supplied with RHEL-7,
> > +   does not process correctly Libs.private section,
> 
> "correctly process the Lib.private..." or "process the Libs.private section
> correctly..." would read better, I think.
> 
> > +   resulting in misses in statically linked applications.
> 
> "misses" is a strange term to use here, and I think it needs clarification
> on what exactly is being missed. How about generalizing it a bit:
> "resulting in statically linked applications not being linked properly."

I agree, I'll do a v3, thanks.
  

Patch

diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index 6ecdc04aa9..ab38284950 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -94,6 +94,19 @@  found in that driver's documentation in the relevant DPDK guide document,
 e.g. :doc:`../nics/index`
 
 
+Building DPDK Applications
+--------------------------
+
+The tool pkg-config or pkgconf, integrated in most build systems,
+must be used to parse options and dependencies from libdpdk.pc.
+
+.. note::
+
+   pkg-config 0.27, supplied with RHEL-7,
+   does not process correctly Libs.private section,
+   resulting in misses in statically linked applications.
+
+
 Running DPDK Applications
 -------------------------