* [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable
@ 2019-11-26 8:14 Ali Alnubani
2019-11-26 8:14 ` [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Ali Alnubani @ 2019-11-26 8:14 UTC (permalink / raw)
To: dev
Meson fails to find a pkg-config executable if pkgconfig
isn't set for aarch64. The environment variable `PKG_CONFIG_PATH`
is useless in this case, and meson fails to locate dependencies
that are built in non-standard paths.
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
---
config/arm/arm64_armada_linux_gcc | 1 +
config/arm/arm64_armv8_linux_gcc | 1 +
config/arm/arm64_bluefield_linux_gcc | 1 +
config/arm/arm64_dpaa_linux_gcc | 1 +
config/arm/arm64_emag_linux_gcc | 1 +
config/arm/arm64_n1sdp_linux_gcc | 1 +
config/arm/arm64_octeontx2_linux_gcc | 1 +
config/arm/arm64_thunderx2_linux_gcc | 1 +
config/arm/arm64_thunderx_linux_gcc | 1 +
9 files changed, 9 insertions(+)
diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc
index 6e6d56f6f..fa40c0398 100644
--- a/config/arm/arm64_armada_linux_gcc
+++ b/config/arm/arm64_armada_linux_gcc
@@ -4,6 +4,7 @@ cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-ar'
as = 'aarch64-linux-gnu-as'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc
index 67dd9a97d..88f0ff9da 100644
--- a/config/arm/arm64_armv8_linux_gcc
+++ b/config/arm/arm64_armv8_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_bluefield_linux_gcc b/config/arm/arm64_bluefield_linux_gcc
index 304c4073d..86797d23c 100644
--- a/config/arm/arm64_bluefield_linux_gcc
+++ b/config/arm/arm64_bluefield_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_dpaa_linux_gcc b/config/arm/arm64_dpaa_linux_gcc
index f4b85a84b..1a4682154 100644
--- a/config/arm/arm64_dpaa_linux_gcc
+++ b/config/arm/arm64_dpaa_linux_gcc
@@ -4,6 +4,7 @@ cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-ar'
as = 'aarch64-linux-gnu-as'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc
index bcb147a5a..8edcd3e97 100644
--- a/config/arm/arm64_emag_linux_gcc
+++ b/config/arm/arm64_emag_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc
index 83dad3df2..022e06303 100644
--- a/config/arm/arm64_n1sdp_linux_gcc
+++ b/config/arm/arm64_n1sdp_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_octeontx2_linux_gcc b/config/arm/arm64_octeontx2_linux_gcc
index e2c0b8f72..365bd7cbd 100644
--- a/config/arm/arm64_octeontx2_linux_gcc
+++ b/config/arm/arm64_octeontx2_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_thunderx2_linux_gcc b/config/arm/arm64_thunderx2_linux_gcc
index 0dc275644..2b41acc61 100644
--- a/config/arm/arm64_thunderx2_linux_gcc
+++ b/config/arm/arm64_thunderx2_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_thunderx_linux_gcc b/config/arm/arm64_thunderx_linux_gcc
index 14b801998..6572ab615 100644
--- a/config/arm/arm64_thunderx_linux_gcc
+++ b/config/arm/arm64_thunderx_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
--
2.24.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite
2019-11-26 8:14 [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable Ali Alnubani
@ 2019-11-26 8:14 ` Ali Alnubani
2019-11-26 9:51 ` Bruce Richardson
2019-11-27 16:53 ` [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable Bruce Richardson
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 1/3] " Ali Alnubani
2 siblings, 1 reply; 12+ messages in thread
From: Ali Alnubani @ 2019-11-26 8:14 UTC (permalink / raw)
To: dev
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::
--
2.24.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite
2019-11-26 8:14 ` [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
@ 2019-11-26 9:51 ` Bruce Richardson
2019-11-26 10:41 ` Ali Alnubani
0 siblings, 1 reply; 12+ messages in thread
From: Bruce Richardson @ 2019-11-26 9:51 UTC (permalink / raw)
To: Ali Alnubani; +Cc: dev
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?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite
2019-11-26 9:51 ` Bruce Richardson
@ 2019-11-26 10:41 ` Ali Alnubani
2019-11-26 12:00 ` Bruce Richardson
0 siblings, 1 reply; 12+ messages in thread
From: Ali Alnubani @ 2019-11-26 10:41 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev
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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite
2019-11-26 10:41 ` Ali Alnubani
@ 2019-11-26 12:00 ` Bruce Richardson
2019-11-27 15:54 ` Ali Alnubani
0 siblings, 1 reply; 12+ messages in thread
From: Bruce Richardson @ 2019-11-26 12:00 UTC (permalink / raw)
To: Ali Alnubani; +Cc: dev
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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite
2019-11-26 12:00 ` Bruce Richardson
@ 2019-11-27 15:54 ` Ali Alnubani
2019-11-27 16:51 ` Bruce Richardson
0 siblings, 1 reply; 12+ messages in thread
From: Ali Alnubani @ 2019-11-27 15:54 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev
> -----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
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite
2019-11-27 15:54 ` Ali Alnubani
@ 2019-11-27 16:51 ` Bruce Richardson
0 siblings, 0 replies; 12+ messages in thread
From: Bruce Richardson @ 2019-11-27 16:51 UTC (permalink / raw)
To: Ali Alnubani; +Cc: dev
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.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable
2019-11-26 8:14 [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable Ali Alnubani
2019-11-26 8:14 ` [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
@ 2019-11-27 16:53 ` Bruce Richardson
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 1/3] " Ali Alnubani
2 siblings, 0 replies; 12+ messages in thread
From: Bruce Richardson @ 2019-11-27 16:53 UTC (permalink / raw)
To: Ali Alnubani; +Cc: dev
On Tue, Nov 26, 2019 at 08:14:22AM +0000, Ali Alnubani wrote:
> Meson fails to find a pkg-config executable if pkgconfig
> isn't set for aarch64. The environment variable `PKG_CONFIG_PATH`
> is useless in this case, and meson fails to locate dependencies
> that are built in non-standard paths.
>
> Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
> ---
> config/arm/arm64_armada_linux_gcc | 1 +
> config/arm/arm64_armv8_linux_gcc | 1 +
> config/arm/arm64_bluefield_linux_gcc | 1 +
> config/arm/arm64_dpaa_linux_gcc | 1 +
> config/arm/arm64_emag_linux_gcc | 1 +
> config/arm/arm64_n1sdp_linux_gcc | 1 +
> config/arm/arm64_octeontx2_linux_gcc | 1 +
> config/arm/arm64_thunderx2_linux_gcc | 1 +
> config/arm/arm64_thunderx_linux_gcc | 1 +
> 9 files changed, 9 insertions(+)
>
Based off discussion on patch 2 thread:
Series
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2 1/3] config: set the pkgconfig executable
2019-11-26 8:14 [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable Ali Alnubani
2019-11-26 8:14 ` [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
2019-11-27 16:53 ` [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable Bruce Richardson
@ 2019-11-28 7:24 ` Ali Alnubani
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 2/3] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
` (2 more replies)
2 siblings, 3 replies; 12+ messages in thread
From: Ali Alnubani @ 2019-11-28 7:24 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson
Meson fails to find a pkg-config executable if pkgconfig
isn't set for aarch64. The environment variable `PKG_CONFIG_PATH`
is useless in this case, and meson fails to locate dependencies
that are built in non-standard paths.
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2: added an additional patch to the series.
config/arm/arm64_armada_linux_gcc | 1 +
config/arm/arm64_armv8_linux_gcc | 1 +
config/arm/arm64_bluefield_linux_gcc | 1 +
config/arm/arm64_dpaa_linux_gcc | 1 +
config/arm/arm64_emag_linux_gcc | 1 +
config/arm/arm64_n1sdp_linux_gcc | 1 +
config/arm/arm64_octeontx2_linux_gcc | 1 +
config/arm/arm64_thunderx2_linux_gcc | 1 +
config/arm/arm64_thunderx_linux_gcc | 1 +
9 files changed, 9 insertions(+)
diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc
index 6e6d56f6f..fa40c0398 100644
--- a/config/arm/arm64_armada_linux_gcc
+++ b/config/arm/arm64_armada_linux_gcc
@@ -4,6 +4,7 @@ cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-ar'
as = 'aarch64-linux-gnu-as'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc
index 67dd9a97d..88f0ff9da 100644
--- a/config/arm/arm64_armv8_linux_gcc
+++ b/config/arm/arm64_armv8_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_bluefield_linux_gcc b/config/arm/arm64_bluefield_linux_gcc
index 304c4073d..86797d23c 100644
--- a/config/arm/arm64_bluefield_linux_gcc
+++ b/config/arm/arm64_bluefield_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_dpaa_linux_gcc b/config/arm/arm64_dpaa_linux_gcc
index f4b85a84b..1a4682154 100644
--- a/config/arm/arm64_dpaa_linux_gcc
+++ b/config/arm/arm64_dpaa_linux_gcc
@@ -4,6 +4,7 @@ cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-ar'
as = 'aarch64-linux-gnu-as'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_emag_linux_gcc b/config/arm/arm64_emag_linux_gcc
index bcb147a5a..8edcd3e97 100644
--- a/config/arm/arm64_emag_linux_gcc
+++ b/config/arm/arm64_emag_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc
index 83dad3df2..022e06303 100644
--- a/config/arm/arm64_n1sdp_linux_gcc
+++ b/config/arm/arm64_n1sdp_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_octeontx2_linux_gcc b/config/arm/arm64_octeontx2_linux_gcc
index e2c0b8f72..365bd7cbd 100644
--- a/config/arm/arm64_octeontx2_linux_gcc
+++ b/config/arm/arm64_octeontx2_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_thunderx2_linux_gcc b/config/arm/arm64_thunderx2_linux_gcc
index 0dc275644..2b41acc61 100644
--- a/config/arm/arm64_thunderx2_linux_gcc
+++ b/config/arm/arm64_thunderx2_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
diff --git a/config/arm/arm64_thunderx_linux_gcc b/config/arm/arm64_thunderx_linux_gcc
index 14b801998..6572ab615 100644
--- a/config/arm/arm64_thunderx_linux_gcc
+++ b/config/arm/arm64_thunderx_linux_gcc
@@ -3,6 +3,7 @@ c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-cpp'
ar = 'aarch64-linux-gnu-gcc-ar'
strip = 'aarch64-linux-gnu-strip'
+pkgconfig = 'aarch64-linux-gnu-pkg-config'
pcap-config = ''
[host_machine]
--
2.24.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2 2/3] doc: add pkg-config-aarch64-linux-gnu as a prerequisite
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 1/3] " Ali Alnubani
@ 2019-11-28 7:24 ` Ali Alnubani
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 3/3] ci: add pkg-config-aarch64-linux-gnu to aarch64_packages Ali Alnubani
2019-11-28 22:01 ` [dpdk-dev] [PATCH v2 1/3] config: set the pkgconfig executable Thomas Monjalon
2 siblings, 0 replies; 12+ messages in thread
From: Ali Alnubani @ 2019-11-28 7:24 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson
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>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2: added an additional patch to the series.
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::
--
2.24.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [dpdk-dev] [PATCH v2 3/3] ci: add pkg-config-aarch64-linux-gnu to aarch64_packages
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 1/3] " Ali Alnubani
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 2/3] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
@ 2019-11-28 7:24 ` Ali Alnubani
2019-11-28 22:01 ` [dpdk-dev] [PATCH v2 1/3] config: set the pkgconfig executable Thomas Monjalon
2 siblings, 0 replies; 12+ messages in thread
From: Ali Alnubani @ 2019-11-28 7:24 UTC (permalink / raw)
To: dev
The aarch64 cross-files are configured to explicitly use the binary
'aarch64-linux-gnu-pkg-config', which is available in the package
'pkg-config-aarch64-linux-gnu' in ubuntu.
Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
---
.travis.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.travis.yml b/.travis.yml
index 7b9fc6898..8f90d06f2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,7 +17,7 @@ addons:
aarch64_packages: &aarch64_packages
- *required_packages
- - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross]
+ - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
extra_packages: &extra_packages
- *required_packages
--
2.24.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/3] config: set the pkgconfig executable
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 1/3] " Ali Alnubani
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 2/3] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 3/3] ci: add pkg-config-aarch64-linux-gnu to aarch64_packages Ali Alnubani
@ 2019-11-28 22:01 ` Thomas Monjalon
2 siblings, 0 replies; 12+ messages in thread
From: Thomas Monjalon @ 2019-11-28 22:01 UTC (permalink / raw)
To: Ali Alnubani; +Cc: dev, Bruce Richardson
28/11/2019 08:24, Ali Alnubani:
> Meson fails to find a pkg-config executable if pkgconfig
> isn't set for aarch64. The environment variable `PKG_CONFIG_PATH`
> is useless in this case, and meson fails to locate dependencies
> that are built in non-standard paths.
>
> Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Series squashed and applied, thanks
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2019-11-28 22:01 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-26 8:14 [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable Ali Alnubani
2019-11-26 8:14 ` [dpdk-dev] [PATCH 2/2] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
2019-11-26 9:51 ` Bruce Richardson
2019-11-26 10:41 ` Ali Alnubani
2019-11-26 12:00 ` Bruce Richardson
2019-11-27 15:54 ` Ali Alnubani
2019-11-27 16:51 ` Bruce Richardson
2019-11-27 16:53 ` [dpdk-dev] [PATCH 1/2] config: set the pkgconfig executable Bruce Richardson
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 1/3] " Ali Alnubani
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 2/3] doc: add pkg-config-aarch64-linux-gnu as a prerequisite Ali Alnubani
2019-11-28 7:24 ` [dpdk-dev] [PATCH v2 3/3] ci: add pkg-config-aarch64-linux-gnu to aarch64_packages Ali Alnubani
2019-11-28 22:01 ` [dpdk-dev] [PATCH v2 1/3] config: set the pkgconfig executable Thomas Monjalon
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).