[2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite

Message ID 20191126081346.22889-2-alialnu@mellanox.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series [1/2] config: set the pkgconfig executable |

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

Ali Alnubani Nov. 26, 2019, 8:14 a.m. UTC
  The package pkg-config-aarch64-linux-gnu is required with meson for
detecting dependencies installed in nonstandard paths.

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
---
 doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Bruce Richardson Nov. 26, 2019, 9:51 a.m. UTC | #1
On Tue, Nov 26, 2019 at 08:14:25AM +0000, Ali Alnubani wrote:
> The package pkg-config-aarch64-linux-gnu is required with meson for
> detecting dependencies installed in nonstandard paths.
> 
> Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
> ---
>  doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> index e799b0ba4..f00f9b130 100644
> --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> @@ -122,6 +122,14 @@ To compile for non-NUMA targets, without compiling the kernel modules, use the f
>  Meson Cross Compiling DPDK
>  --------------------------
>  
> +Meson depends on pkgconfig to find the dependencies that are installed in
> +nonstandard paths. The package `pkg-config-aarch64-linux-gnu` is required in
> +this case. To install it in Ubuntu:
> +
> +.. code-block:: console
> +
> +   sudo apt-get install pkg-config-aarch64-linux-gnu
> +
>  To cross-compile DPDK on a desired target machine we can use the following
>  command::

Is there a package for Fedora or similar Redhat-derived distros?
  
Ali Alnubani Nov. 26, 2019, 10:41 a.m. UTC | #2
Hi Bruce,

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Tuesday, November 26, 2019 11:52 AM
> To: Ali Alnubani <alialnu@mellanox.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu
> as a prerequisite
> 
> On Tue, Nov 26, 2019 at 08:14:25AM +0000, Ali Alnubani wrote:
> > The package pkg-config-aarch64-linux-gnu is required with meson for
> > detecting dependencies installed in nonstandard paths.
> >
> > Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
> > ---
> >  doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> >
> > diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > index e799b0ba4..f00f9b130 100644
> > --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > @@ -122,6 +122,14 @@ To compile for non-NUMA targets, without
> > compiling the kernel modules, use the f  Meson Cross Compiling DPDK
> >  --------------------------
> >
> > +Meson depends on pkgconfig to find the dependencies that are
> > +installed in nonstandard paths. The package
> > +`pkg-config-aarch64-linux-gnu` is required in this case. To install it in
> Ubuntu:
> > +
> > +.. code-block:: console
> > +
> > +   sudo apt-get install pkg-config-aarch64-linux-gnu
> > +
> >  To cross-compile DPDK on a desired target machine we can use the
> > following
> >  command::
> 
> Is there a package for Fedora or similar Redhat-derived distros?

I don't think it's available. Should I add instructions on how to cross build it instead of the apt-get example?

Thanks,
Ali
  
Bruce Richardson Nov. 26, 2019, noon UTC | #3
On Tue, Nov 26, 2019 at 10:41:08AM +0000, Ali Alnubani wrote:
> Hi Bruce,
> 
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > Sent: Tuesday, November 26, 2019 11:52 AM
> > To: Ali Alnubani <alialnu@mellanox.com>
> > Cc: dev@dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu
> > as a prerequisite
> > 
> > On Tue, Nov 26, 2019 at 08:14:25AM +0000, Ali Alnubani wrote:
> > > The package pkg-config-aarch64-linux-gnu is required with meson for
> > > detecting dependencies installed in nonstandard paths.
> > >
> > > Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
> > > ---
> > >  doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 8 ++++++++
> > >  1 file changed, 8 insertions(+)
> > >
> > > diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > index e799b0ba4..f00f9b130 100644
> > > --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > @@ -122,6 +122,14 @@ To compile for non-NUMA targets, without
> > > compiling the kernel modules, use the f  Meson Cross Compiling DPDK
> > >  --------------------------
> > >
> > > +Meson depends on pkgconfig to find the dependencies that are
> > > +installed in nonstandard paths. The package
> > > +`pkg-config-aarch64-linux-gnu` is required in this case. To install it in
> > Ubuntu:
> > > +
> > > +.. code-block:: console
> > > +
> > > +   sudo apt-get install pkg-config-aarch64-linux-gnu
> > > +
> > >  To cross-compile DPDK on a desired target machine we can use the
> > > following
> > >  command::
> > 
> > Is there a package for Fedora or similar Redhat-derived distros?
> 
> I don't think it's available. Should I add instructions on how to cross build it instead of the apt-get example?
> 
I think you might need both. Distro-instructions is probably best, but
there are a lot of people not using Ubuntu, I suspect.

Following patch 1, if pkg-config is added to all the cross-build files,
does that prevent previously working cross-builds from passing due to the
lack of the pkg-config package? Do the travis jobs need updating, for
example?

/Bruce
  
Ali Alnubani Nov. 27, 2019, 3:54 p.m. UTC | #4
> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Tuesday, November 26, 2019 2:01 PM
> To: Ali Alnubani <alialnu@mellanox.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu
> as a prerequisite
> 
> On Tue, Nov 26, 2019 at 10:41:08AM +0000, Ali Alnubani wrote:
> > Hi Bruce,
> >
> > > -----Original Message-----
> > > From: Bruce Richardson <bruce.richardson@intel.com>
> > > Sent: Tuesday, November 26, 2019 11:52 AM
> > > To: Ali Alnubani <alialnu@mellanox.com>
> > > Cc: dev@dpdk.org
> > > Subject: Re: [dpdk-dev] [PATCH 2/2] doc: add
> > > pkg-config-aarch64-linux-gnu as a prerequisite
> > >
> > > On Tue, Nov 26, 2019 at 08:14:25AM +0000, Ali Alnubani wrote:
> > > > The package pkg-config-aarch64-linux-gnu is required with meson
> > > > for detecting dependencies installed in nonstandard paths.
> > > >
> > > > Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
> > > > ---
> > > >  doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 8 ++++++++
> > > >  1 file changed, 8 insertions(+)
> > > >
> > > > diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > > b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > > index e799b0ba4..f00f9b130 100644
> > > > --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > > +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > > @@ -122,6 +122,14 @@ To compile for non-NUMA targets, without
> > > > compiling the kernel modules, use the f  Meson Cross Compiling
> > > > DPDK
> > > >  --------------------------
> > > >
> > > > +Meson depends on pkgconfig to find the dependencies that are
> > > > +installed in nonstandard paths. The package
> > > > +`pkg-config-aarch64-linux-gnu` is required in this case. To
> > > > +install it in
> > > Ubuntu:
> > > > +
> > > > +.. code-block:: console
> > > > +
> > > > +   sudo apt-get install pkg-config-aarch64-linux-gnu
> > > > +
> > > >  To cross-compile DPDK on a desired target machine we can use the
> > > > following
> > > >  command::
> > >
> > > Is there a package for Fedora or similar Redhat-derived distros?
> >
> > I don't think it's available. Should I add instructions on how to cross build it
> instead of the apt-get example?
> >
> I think you might need both. Distro-instructions is probably best, but there
> are a lot of people not using Ubuntu, I suspect.
> 
> Following patch 1, if pkg-config is added to all the cross-build files, does that
> prevent previously working cross-builds from passing due to the lack of the
> pkg-config package? Do the travis jobs need updating, for example?

Cross compiling pkg-config from source requires glib, which in turn requires other packages (libffi and pcre).
Do we want to add instructions to cross build that dependency tree?

I opened a pull request to the Github mirror to make sure I didn't break the CI:
https://github.com/DPDK/dpdk/pull/14
If the binary 'aarch64-linux-gnu-pkg-config' isn't found, Meson seems to just show the following warnings, but it doesn't fail with error:
'''
Did not find pkg-config by name 'aarch64-linux-gnu-pkg-config'
Found Pkg-config: NO
'''

I'll send v2 with an additional patch to add the package to the list of requirements for Travis's environment.
> 
> /Bruce

- Ali
  
Bruce Richardson Nov. 27, 2019, 4:51 p.m. UTC | #5
On Wed, Nov 27, 2019 at 03:54:55PM +0000, Ali Alnubani wrote:
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > Sent: Tuesday, November 26, 2019 2:01 PM
> > To: Ali Alnubani <alialnu@mellanox.com>
> > Cc: dev@dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu
> > as a prerequisite
> > 
> > On Tue, Nov 26, 2019 at 10:41:08AM +0000, Ali Alnubani wrote:
> > > Hi Bruce,
> > >
> > > > -----Original Message-----
> > > > From: Bruce Richardson <bruce.richardson@intel.com>
> > > > Sent: Tuesday, November 26, 2019 11:52 AM
> > > > To: Ali Alnubani <alialnu@mellanox.com>
> > > > Cc: dev@dpdk.org
> > > > Subject: Re: [dpdk-dev] [PATCH 2/2] doc: add
> > > > pkg-config-aarch64-linux-gnu as a prerequisite
> > > >
> > > > On Tue, Nov 26, 2019 at 08:14:25AM +0000, Ali Alnubani wrote:
> > > > > The package pkg-config-aarch64-linux-gnu is required with meson
> > > > > for detecting dependencies installed in nonstandard paths.
> > > > >
> > > > > Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
> > > > > ---
> > > > >  doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 8 ++++++++
> > > > >  1 file changed, 8 insertions(+)
> > > > >
> > > > > diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > > > b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > > > index e799b0ba4..f00f9b130 100644
> > > > > --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > > > +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> > > > > @@ -122,6 +122,14 @@ To compile for non-NUMA targets, without
> > > > > compiling the kernel modules, use the f  Meson Cross Compiling
> > > > > DPDK
> > > > >  --------------------------
> > > > >
> > > > > +Meson depends on pkgconfig to find the dependencies that are
> > > > > +installed in nonstandard paths. The package
> > > > > +`pkg-config-aarch64-linux-gnu` is required in this case. To
> > > > > +install it in
> > > > Ubuntu:
> > > > > +
> > > > > +.. code-block:: console
> > > > > +
> > > > > +   sudo apt-get install pkg-config-aarch64-linux-gnu
> > > > > +
> > > > >  To cross-compile DPDK on a desired target machine we can use the
> > > > > following
> > > > >  command::
> > > >
> > > > Is there a package for Fedora or similar Redhat-derived distros?
> > >
> > > I don't think it's available. Should I add instructions on how to cross build it
> > instead of the apt-get example?
> > >
> > I think you might need both. Distro-instructions is probably best, but there
> > are a lot of people not using Ubuntu, I suspect.
> > 
> > Following patch 1, if pkg-config is added to all the cross-build files, does that
> > prevent previously working cross-builds from passing due to the lack of the
> > pkg-config package? Do the travis jobs need updating, for example?
> 
> Cross compiling pkg-config from source requires glib, which in turn requires other packages (libffi and pcre).
> Do we want to add instructions to cross build that dependency tree?
> 
> I opened a pull request to the Github mirror to make sure I didn't break the CI:
> https://github.com/DPDK/dpdk/pull/14
> If the binary 'aarch64-linux-gnu-pkg-config' isn't found, Meson seems to just show the following warnings, but it doesn't fail with error:
> '''
> Did not find pkg-config by name 'aarch64-linux-gnu-pkg-config'
> Found Pkg-config: NO
> '''
> 
> I'll send v2 with an additional patch to add the package to the list of requirements for Travis's environment.
> > 
So long as is doesn't break something that was previously working I'm ok
with this set.
  

Patch

diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
index e799b0ba4..f00f9b130 100644
--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
@@ -122,6 +122,14 @@  To compile for non-NUMA targets, without compiling the kernel modules, use the f
 Meson Cross Compiling DPDK
 --------------------------
 
+Meson depends on pkgconfig to find the dependencies that are installed in
+nonstandard paths. The package `pkg-config-aarch64-linux-gnu` is required in
+this case. To install it in Ubuntu:
+
+.. code-block:: console
+
+   sudo apt-get install pkg-config-aarch64-linux-gnu
+
 To cross-compile DPDK on a desired target machine we can use the following
 command::