All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/1] [RFC] fix kernel build failure for 5.1.0-rc3
@ 2019-04-04 19:24 Stuart Summers
  2019-04-04 19:24 ` [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config Stuart Summers
  0 siblings, 1 reply; 16+ messages in thread
From: Stuart Summers @ 2019-04-04 19:24 UTC (permalink / raw)
  To: buildroot

This is my first time posting here, and I'm looking for feedback.
Our team is attempting to build with a kernel revision above 5.1.0-rc3.
I noticed in this build, the integration with buildroot is failing.
I was able to pinpoint this down to a patch to the kernel which now
uses pkg-config to find the libelf package to support non-default
paths for libelf.

I was trying to quickly patch buildroot to work around this rather
than changing the kernel itself. I noticed that pkgconf in buildroot 
creates a symbolic link in the target from pkgconf to pkg-config,
but not in the host directory. I have a patch which adds this link
to the host directory as well, but I quickly noticed this seems to
open a can of worms with packages, at least the ones we have enabled
in our configuration (graphics focused), down the toolchain now
failing dependencies in configuration and build, after attempting
to work through a few of the configuration dependency issues.

I wanted to reach out to the community for feedback on the approach
I have here, and what might be the best path forward on this. I would
prefer not to do a complete overhaul of the buildroot packages which
depend on a host-based pkg-config, as I don't have a way to properly
test these changes.

Thoughts?

Here's the commit in the kernel:
commit 056d28d135bca0b1d0908990338e00e9dadaf057
Author: Rolf Eike Beer <eb@emlix.com>
Date:   Tue Mar 26 12:48:39 2019 -0500

    objtool: Query pkg-config for libelf location
    
    If it is not in the default location, compilation fails at several points.
    
    Signed-off-by: Rolf Eike Beer <eb@emlix.com>
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: stable at vger.kernel.org
    Link: https://lkml.kernel.org/r/91a25e992566a7968fedc89ec80e7f4c83ad0548.1553622500.git.jpoimboe at redhat.com

Thanks in advance!

Stuart Summers (1):
  package/pkgconf: add host link to pkg-config

 linux/Config.in            | 8 ++++++++
 linux/linux.mk             | 4 ++++
 package/pkgconf/pkgconf.mk | 8 +++++++-
 3 files changed, 19 insertions(+), 1 deletion(-)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config
  2019-04-04 19:24 [Buildroot] [PATCH 0/1] [RFC] fix kernel build failure for 5.1.0-rc3 Stuart Summers
@ 2019-04-04 19:24 ` Stuart Summers
  2019-04-04 19:42   ` Thomas Petazzoni
  2019-04-05 18:47   ` [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set Stuart Summers
  0 siblings, 2 replies; 16+ messages in thread
From: Stuart Summers @ 2019-04-04 19:24 UTC (permalink / raw)
  To: buildroot

A patch was added to the Linux kernel in 5.1.0-rc3 which
adds a requirement that the host build environment include
pkg-config. Since pkg-config was deprecated in buildroot,
add a link in the host directory to /usr/bin/pkg-config.

Also add a new config option to enforce building host-pkgconf
before building the Linux kernel.

Signed-off-by: Stuart Summers <stuart.summers@intel.com>
---
 linux/Config.in            | 8 ++++++++
 linux/linux.mk             | 4 ++++
 package/pkgconf/pkgconf.mk | 8 +++++++-
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/linux/Config.in b/linux/Config.in
index 9a4d46e534..5d0c623c2b 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -432,6 +432,14 @@ config BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF
 	  CONFIG_UNWINDER_ORC=y, please install libelf-dev,
 	  libelf-devel or elfutils-libelf-devel".
 
+config BR2_LINUX_KERNEL_NEEDS_HOST_PKG_CONFIG
+	bool "Needs host pkgconf"
+	help
+	  Starting in 5.1.0-rc3, a change was added to the Linux kernel
+	  which uses pkg-config to determine the location of the libelf
+	  library. Without this option, the kernel will fail with build
+	  errors.
+
 # Linux extensions
 source "linux/Config.ext.in"
 
diff --git a/linux/linux.mk b/linux/linux.mk
index 6bf2b88038..d011f92828 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -100,6 +100,10 @@ ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
 LINUX_DEPENDENCIES += host-elfutils
 endif
 
+ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_PKG_CONFIG),y)
+LINUX_DEPENDENCIES += host-pkgconf
+endif
+
 # If host-uboot-tools is selected by the user, assume it is needed to
 # create a custom image
 ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
diff --git a/package/pkgconf/pkgconf.mk b/package/pkgconf/pkgconf.mk
index e3c73fd405..8284799f1e 100644
--- a/package/pkgconf/pkgconf.mk
+++ b/package/pkgconf/pkgconf.mk
@@ -16,6 +16,10 @@ define PKGCONF_LINK_PKGCONFIG
 	ln -sf pkgconf $(TARGET_DIR)/usr/bin/pkg-config
 endef
 
+define HOST_PKGCONF_LINK_PKGCONFIG
+	ln -sf pkgconf $(HOST_DIR)/usr/bin/pkg-config
+endef
+
 define HOST_PKGCONF_INSTALL_WRAPPER
 	$(INSTALL) -m 0755 -D package/pkgconf/pkg-config.in \
 		$(HOST_DIR)/bin/pkg-config
@@ -32,7 +36,9 @@ define HOST_PKGCONF_SHARED
 endef
 
 PKGCONF_POST_INSTALL_TARGET_HOOKS += PKGCONF_LINK_PKGCONFIG
-HOST_PKGCONF_POST_INSTALL_HOOKS += HOST_PKGCONF_INSTALL_WRAPPER
+HOST_PKGCONF_POST_INSTALL_HOOKS += \
+	HOST_PKGCONF_INSTALL_WRAPPER \
+	HOST_PKGCONF_LINK_PKGCONFIG
 
 ifeq ($(BR2_STATIC_LIBS),y)
 HOST_PKGCONF_POST_INSTALL_HOOKS += HOST_PKGCONF_STATIC
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config
  2019-04-04 19:24 ` [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config Stuart Summers
@ 2019-04-04 19:42   ` Thomas Petazzoni
  2019-04-04 21:30     ` Summers, Stuart
  2019-04-05 18:47   ` [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set Stuart Summers
  1 sibling, 1 reply; 16+ messages in thread
From: Thomas Petazzoni @ 2019-04-04 19:42 UTC (permalink / raw)
  To: buildroot

Hello Stuart,

Thanks for the patch.

On Thu,  4 Apr 2019 12:24:13 -0700
Stuart Summers <stuart.summers@intel.com> wrote:

> A patch was added to the Linux kernel in 5.1.0-rc3 which
> adds a requirement that the host build environment include
> pkg-config. Since pkg-config was deprecated in buildroot,
> add a link in the host directory to /usr/bin/pkg-config.

pkg-config is definitely not deprecated at all, and Buildroot's pkgconf
package is already installing it as $(HOST_DIR)/usr/bin/pkg-config:

define HOST_PKGCONF_INSTALL_WRAPPER
        $(INSTALL) -m 0755 -D package/pkgconf/pkg-config.in \
                $(HOST_DIR)/bin/pkg-config

However, the wrapper assumes by default we are building for the target,
and therefore returns results valid for cross-compilation. To return
results valid for native build, the following environment variables
need to be passed:

        PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
        PKG_CONFIG_SYSROOT_DIR="/" \
        PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
        PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
        PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"

> Also add a new config option to enforce building host-pkgconf
> before building the Linux kernel.

Do we need a new option ? If pkg-config is only used by Linux to detect
libelf, what about just adding host-pkgconf to LINUX_DEPENDENCIES when
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is enabled ?

> +define HOST_PKGCONF_LINK_PKGCONFIG
> +	ln -sf pkgconf $(HOST_DIR)/usr/bin/pkg-config
> +endef

This is definitely wrong and will break the wrapper we install.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config
  2019-04-04 19:42   ` Thomas Petazzoni
@ 2019-04-04 21:30     ` Summers, Stuart
  2019-04-05  7:53       ` Thomas Petazzoni
  0 siblings, 1 reply; 16+ messages in thread
From: Summers, Stuart @ 2019-04-04 21:30 UTC (permalink / raw)
  To: buildroot

On Thu, 2019-04-04 at 21:42 +0200, Thomas Petazzoni wrote:
> Hello Stuart,
> 
> Thanks for the patch.
> 
> On Thu,  4 Apr 2019 12:24:13 -0700
> Stuart Summers <stuart.summers@intel.com> wrote:
> 
> > A patch was added to the Linux kernel in 5.1.0-rc3 which
> > adds a requirement that the host build environment include
> > pkg-config. Since pkg-config was deprecated in buildroot,
> > add a link in the host directory to /usr/bin/pkg-config.
> 
> pkg-config is definitely not deprecated at all, and Buildroot's 

This was maybe a poorly worded commit message. I just meant that we are
using pkgconf in place of pkg-config. I can remove this.

> pkgconf
> package is already installing it as $(HOST_DIR)/usr/bin/pkg-config:
> 
> define HOST_PKGCONF_INSTALL_WRAPPER
>         $(INSTALL) -m 0755 -D package/pkgconf/pkg-config.in \
>                 $(HOST_DIR)/bin/pkg-config
> 
> However, the wrapper assumes by default we are building for the
> target,
> and therefore returns results valid for cross-compilation. To return
> results valid for native build, the following environment variables
> need to be passed:
> 
>         PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
>         PKG_CONFIG_SYSROOT_DIR="/" \
>         PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
>         PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
>         PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/shar
> e/pkgconfig"

I apologize if I'm missing something obvious, but adding this to
packages/pkgconf/pkgconf.mk did not seem to make any difference. I also
tried adding this to linux/linux.mk. The latter I didn't do a full
"make clean", but did on the former.

> 
> > Also add a new config option to enforce building host-pkgconf
> > before building the Linux kernel.
> 
> Do we need a new option ? If pkg-config is only used by Linux to 

No need to add this, I agree.

> detect
> libelf, what about just adding host-pkgconf to LINUX_DEPENDENCIES 
> when
> BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is enabled ?

At least without including the changes I had, I was seeing host-pkgconf 
show up in output/build even without adding this to LINUX_DEPENDENCIES,
although that seems like the right thing to add anyway.

> 
> > +define HOST_PKGCONF_LINK_PKGCONFIG
> > +	ln -sf pkgconf $(HOST_DIR)/usr/bin/pkg-config
> > +endef
> 
> This is definitely wrong and will break the wrapper we install.

Thanks for the feedback and makes sense. Just looking at the right way
to work around this.

Thanks,
Stuart

> 
> Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3270 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190404/894f8573/attachment.bin>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config
  2019-04-04 21:30     ` Summers, Stuart
@ 2019-04-05  7:53       ` Thomas Petazzoni
  2019-04-05 18:50         ` Summers, Stuart
  0 siblings, 1 reply; 16+ messages in thread
From: Thomas Petazzoni @ 2019-04-05  7:53 UTC (permalink / raw)
  To: buildroot

Hello Stuart,

On Thu, 4 Apr 2019 21:30:40 +0000
"Summers, Stuart" <stuart.summers@intel.com> wrote:

> > However, the wrapper assumes by default we are building for the
> > target,
> > and therefore returns results valid for cross-compilation. To return
> > results valid for native build, the following environment variables
> > need to be passed:
> > 
> >         PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> >         PKG_CONFIG_SYSROOT_DIR="/" \
> >         PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
> >         PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
> >         PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/shar
> > e/pkgconfig"  
> 
> I apologize if I'm missing something obvious, but adding this to
> packages/pkgconf/pkgconf.mk did not seem to make any difference. I also
> tried adding this to linux/linux.mk. The latter I didn't do a full
> "make clean", but did on the former.

Adding those lines to pkgconf.mk will indeed make no difference: they
should be added to the package calling pkg-config, in cases where
pkg-config should return results valid for building native code (i.e
not cross-compiled). Did you try to put this in LINUX_MAKE_ENV for
example ?

> > detect
> > libelf, what about just adding host-pkgconf to LINUX_DEPENDENCIES 
> > when
> > BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is enabled ?  
> 
> At least without including the changes I had, I was seeing host-pkgconf 
> show up in output/build even without adding this to LINUX_DEPENDENCIES,
> although that seems like the right thing to add anyway.

linux depends on host-kmod, and host-kmod depends on host-pkgconf, so
indeed, host-pkgconf will always be pulled in. However, since Linux is
using it directly, I think it makes sense to add the host-pkgconf
dependency to LINUX_DEPENDENCIES.

> > This is definitely wrong and will break the wrapper we install.  
> 
> Thanks for the feedback and makes sense. Just looking at the right way
> to work around this.

The completely correct way would be:

 - To have pkg-config return results for native build

 - To have <tuple>-pkg-config return results for cross-compilation

But then, when cross-building, we need to convince the packages that
they need to call <tuple>-pkg-config. The autotools PKG_CHECK_MODULES()
macro does this by default, so a majority of packages would be OK. But
there are also lots of packages that call "pkg-config" directly, and
those would have to be fixed.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set
  2019-04-04 19:24 ` [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config Stuart Summers
  2019-04-04 19:42   ` Thomas Petazzoni
@ 2019-04-05 18:47   ` Stuart Summers
  2019-04-06 20:31     ` Yann E. MORIN
  2019-04-08 18:42     ` [Buildroot] [PATCH 1/1] " Stuart Summers
  1 sibling, 2 replies; 16+ messages in thread
From: Stuart Summers @ 2019-04-05 18:47 UTC (permalink / raw)
  To: buildroot

A patch was added to the Linux kernel in 5.1.0-rc3 which
adds a requirement that the host build environment include
pkg-config. Add the correct host-pkgconf dependency and
environment variables to ensure Linux picks up the correct
libraries.

Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Stuart Summers <stuart.summers@intel.com>
---
 linux/linux.mk | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/linux/linux.mk b/linux/linux.mk
index 6bf2b88038..05bb5b9525 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -96,10 +96,6 @@ ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL),y)
 LINUX_DEPENDENCIES += host-openssl
 endif
 
-ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
-LINUX_DEPENDENCIES += host-elfutils
-endif
-
 # If host-uboot-tools is selected by the user, assume it is needed to
 # create a custom image
 ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
@@ -125,6 +121,16 @@ LINUX_MAKE_ENV = \
 	$(TARGET_MAKE_ENV) \
 	BR_BINARIES_DIR=$(BINARIES_DIR)
 
+ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
+LINUX_DEPENDENCIES += host-elfutils host-pkgconf
+LINUX_MAKE_ENV += \
+	PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
+	PKG_CONFIG_SYSROOT_DIR="/" \
+	PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
+	PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
+	PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"
+endif
+
 ifeq ($(BR2_REPRODUCIBLE),y)
 LINUX_MAKE_ENV += \
 	KBUILD_BUILD_VERSION=1 \
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config
  2019-04-05  7:53       ` Thomas Petazzoni
@ 2019-04-05 18:50         ` Summers, Stuart
  0 siblings, 0 replies; 16+ messages in thread
From: Summers, Stuart @ 2019-04-05 18:50 UTC (permalink / raw)
  To: buildroot

On Fri, 2019-04-05 at 09:53 +0200, Thomas Petazzoni wrote:
> Hello Stuart,
> 
> On Thu, 4 Apr 2019 21:30:40 +0000
> "Summers, Stuart" <stuart.summers@intel.com> wrote:
> 
> > > However, the wrapper assumes by default we are building for the
> > > target,
> > > and therefore returns results valid for cross-compilation. To
> > > return
> > > results valid for native build, the following environment
> > > variables
> > > need to be passed:
> > > 
> > >         PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> > >         PKG_CONFIG_SYSROOT_DIR="/" \
> > >         PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
> > >         PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
> > >         PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/
> > > shar
> > > e/pkgconfig"  
> > 
> > I apologize if I'm missing something obvious, but adding this to
> > packages/pkgconf/pkgconf.mk did not seem to make any difference. I
> > also
> > tried adding this to linux/linux.mk. The latter I didn't do a full
> > "make clean", but did on the former.
> 
> Adding those lines to pkgconf.mk will indeed make no difference: they
> should be added to the package calling pkg-config, in cases where
> pkg-config should return results valid for building native code (i.e
> not cross-compiled). Did you try to put this in LINUX_MAKE_ENV for
> example ?

Pointing out my obvious misunderstanding here :). This does indeed fix
the issue.

> 
> > > detect
> > > libelf, what about just adding host-pkgconf to
> > > LINUX_DEPENDENCIES 
> > > when
> > > BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is enabled ?  
> > 
> > At least without including the changes I had, I was seeing host-
> > pkgconf 
> > show up in output/build even without adding this to
> > LINUX_DEPENDENCIES,
> > although that seems like the right thing to add anyway.
> 
> linux depends on host-kmod, and host-kmod depends on host-pkgconf, so
> indeed, host-pkgconf will always be pulled in. However, since Linux
> is
> using it directly, I think it makes sense to add the host-pkgconf
> dependency to LINUX_DEPENDENCIES.

I agree.

> 
> > > This is definitely wrong and will break the wrapper we install.  
> > 
> > Thanks for the feedback and makes sense. Just looking at the right
> > way
> > to work around this.
> 
> The completely correct way would be:
> 
>  - To have pkg-config return results for native build
> 
>  - To have <tuple>-pkg-config return results for cross-compilation
> 
> But then, when cross-building, we need to convince the packages that
> they need to call <tuple>-pkg-config. The autotools
> PKG_CHECK_MODULES()
> macro does this by default, so a majority of packages would be OK.
> But
> there are also lots of packages that call "pkg-config" directly, and
> those would have to be fixed.

I did glance through the other packages. Enabling everything that
touches host-pkgconf resulted in a build failure in the python module,
which didn't appear to touch pkg-config. I decided to push something a
bit more targeted instead. If you have another suggestion, though, let
me know.

Thanks again for the feedback here!

-Stuart

> 
> Best regards,
> 
> Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3270 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190405/887008fb/attachment.bin>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set
  2019-04-05 18:47   ` [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set Stuart Summers
@ 2019-04-06 20:31     ` Yann E. MORIN
  2019-04-08 16:00       ` Summers, Stuart
  2019-04-08 18:42     ` [Buildroot] [PATCH 1/1] " Stuart Summers
  1 sibling, 1 reply; 16+ messages in thread
From: Yann E. MORIN @ 2019-04-06 20:31 UTC (permalink / raw)
  To: buildroot

Stuart, All,

On 2019-04-05 11:47 -0700, Stuart Summers spake thusly:
> A patch was added to the Linux kernel in 5.1.0-rc3 which
> adds a requirement that the host build environment include
> pkg-config. Add the correct host-pkgconf dependency and
> environment variables to ensure Linux picks up the correct
> libraries.
> 
> Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Stuart Summers <stuart.summers@intel.com>
> ---
>  linux/linux.mk | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 6bf2b88038..05bb5b9525 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -96,10 +96,6 @@ ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL),y)
>  LINUX_DEPENDENCIES += host-openssl
>  endif
>  
> -ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
> -LINUX_DEPENDENCIES += host-elfutils
> -endif

Why did you move that block around?

>  # If host-uboot-tools is selected by the user, assume it is needed to
>  # create a custom image
>  ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
> @@ -125,6 +121,16 @@ LINUX_MAKE_ENV = \
>  	$(TARGET_MAKE_ENV) \
>  	BR_BINARIES_DIR=$(BINARIES_DIR)
>  
> +ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
> +LINUX_DEPENDENCIES += host-elfutils host-pkgconf
> +LINUX_MAKE_ENV += \
> +	PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> +	PKG_CONFIG_SYSROOT_DIR="/" \
> +	PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
> +	PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
> +	PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"

linux is a kconfig-package, so we should be able to run (for example):
    make linux-menuconfig

However, this should use the real pkg-config from the host, not ours, so
we explictly blacklist a set of PKG_CONFIG_* variables when calling the
kconfig configurators:
    https://git.buildroot.org/buildroot/tree/package/pkg-kconfig.mk#n174

If needed, please expand that blacklist with the two additional
PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} this patch introduces.

If that is not needed, please expand the commit log to explain it.

In the meantime, I've marked this patch as changes-requested in
patchwork.

Thank! :-)

Regards,
Yann E. MORIN.

> +endif
> +
>  ifeq ($(BR2_REPRODUCIBLE),y)
>  LINUX_MAKE_ENV += \
>  	KBUILD_BUILD_VERSION=1 \
> -- 
> 2.20.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set
  2019-04-06 20:31     ` Yann E. MORIN
@ 2019-04-08 16:00       ` Summers, Stuart
  2019-04-08 16:36         ` Yann E. MORIN
  0 siblings, 1 reply; 16+ messages in thread
From: Summers, Stuart @ 2019-04-08 16:00 UTC (permalink / raw)
  To: buildroot

On Sat, 2019-04-06 at 22:31 +0200, Yann E. MORIN wrote:
> Stuart, All,
> 
> On 2019-04-05 11:47 -0700, Stuart Summers spake thusly:
> > A patch was added to the Linux kernel in 5.1.0-rc3 which
> > adds a requirement that the host build environment include
> > pkg-config. Add the correct host-pkgconf dependency and
> > environment variables to ensure Linux picks up the correct
> > libraries.
> > 
> > Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Signed-off-by: Stuart Summers <stuart.summers@intel.com>
> > ---
> >  linux/linux.mk | 14 ++++++++++----
> >  1 file changed, 10 insertions(+), 4 deletions(-)
> > 
> > diff --git a/linux/linux.mk b/linux/linux.mk
> > index 6bf2b88038..05bb5b9525 100644
> > --- a/linux/linux.mk
> > +++ b/linux/linux.mk
> > @@ -96,10 +96,6 @@ ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL),y)
> >  LINUX_DEPENDENCIES += host-openssl
> >  endif
> >  
> > -ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
> > -LINUX_DEPENDENCIES += host-elfutils
> > -endif
> 
> Why did you move that block around?

Moved this for a single conditional after the initial LINUX_MAKE_ENV =
...

I could have alternatively separated into two
LINUX_KERNEL_NEEDS_HOST_LIBELF conditions, but I opted to squash them
together.

> 
> >  # If host-uboot-tools is selected by the user, assume it is needed
> > to
> >  # create a custom image
> >  ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
> > @@ -125,6 +121,16 @@ LINUX_MAKE_ENV = \
> >  	$(TARGET_MAKE_ENV) \
> >  	BR_BINARIES_DIR=$(BINARIES_DIR)
> >  
> > +ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
> > +LINUX_DEPENDENCIES += host-elfutils host-pkgconf
> > +LINUX_MAKE_ENV += \
> > +	PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> > +	PKG_CONFIG_SYSROOT_DIR="/" \
> > +	PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
> > +	PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
> > +	PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/
> > pkgconfig"
> 
> linux is a kconfig-package, so we should be able to run (for
> example):
>     make linux-menuconfig
> 
> However, this should use the real pkg-config from the host, not ours,
> so
> we explictly blacklist a set of PKG_CONFIG_* variables when calling
> the
> kconfig configurators:
>     
> https://git.buildroot.org/buildroot/tree/package/pkg-kconfig.mk#n174
> 
> If needed, please expand that blacklist with the two additional
> PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} this patch introduces.

I apologize for my lack of understanding in this area. I'm happy to add
this to the blacklist you mentioned. At least local testing seems to
indicate that "make linux-menuconfig" works both with and without the
blacklist. I tried this with a default configuration (make distclean ->
make menuconfig -> enable Linux and use an architecture default config
file -> make linux-menuconfig), and this results in a full host
structure being set up in output/host. So it seems like the blacklist
of these two extra variables isn't strictly necessary. Or am I missing
something? That said, looking at the documentation, maybe this takes
away the ability for a user to have a custom pkg-config path - I'm
using the default installation. So in that sense, blacklisting does
seem like the right thing to do. I'll add this and post a quick update.

> 
> If that is not needed, please expand the commit log to explain it.
> 
> In the meantime, I've marked this patch as changes-requested in
> patchwork.
> 
> Thank! :-)

Thanks for the review!

-Stuart

> 
> Regards,
> Yann E. MORIN.
> 
> > +endif
> > +
> >  ifeq ($(BR2_REPRODUCIBLE),y)
> >  LINUX_MAKE_ENV += \
> >  	KBUILD_BUILD_VERSION=1 \
> > -- 
> > 2.20.1
> > 
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3270 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190408/f912c38f/attachment.bin>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set
  2019-04-08 16:00       ` Summers, Stuart
@ 2019-04-08 16:36         ` Yann E. MORIN
  0 siblings, 0 replies; 16+ messages in thread
From: Yann E. MORIN @ 2019-04-08 16:36 UTC (permalink / raw)
  To: buildroot

Stuart, All,

On 2019-04-08 16:00 +0000, Summers, Stuart spake thusly:
> On Sat, 2019-04-06 at 22:31 +0200, Yann E. MORIN wrote:
> > On 2019-04-05 11:47 -0700, Stuart Summers spake thusly:
> > > A patch was added to the Linux kernel in 5.1.0-rc3 which
> > > adds a requirement that the host build environment include
> > > pkg-config. Add the correct host-pkgconf dependency and
> > > environment variables to ensure Linux picks up the correct
> > > libraries.
[--SNIP--]
> > > -ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
> > > -LINUX_DEPENDENCIES += host-elfutils
> > > -endif
> > 
> > Why did you move that block around?
> 
> Moved this for a single conditional after the initial LINUX_MAKE_ENV =
> ...

Ah OK, makes sense.

However, this means that the various BR2_LINUX_KERNEL_NEEDS_HOST_*
blocks are all scatered around in the file, now.

What about:

  - move the existign LINUX_MAKE_ENV assignment earlier in the file,

  - keep the block in-place and expand it, like:

    ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
    LINUX_DEPENDENCIES += host-elfutils host-pkgconf
    LINUX_MAKE_ENV += \
        blablabla
    endif

> I could have alternatively separated into two
> LINUX_KERNEL_NEEDS_HOST_LIBELF conditions, but I opted to squash them
> together.

Which is correct, I just missed the existing LINUX_MAKE_ENV location.

[--SNIP--]
> > If needed, please expand that blacklist with the two additional
> > PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} this patch introduces.
> 
> I apologize for my lack of understanding in this area. I'm happy to add
> this to the blacklist you mentioned. At least local testing seems to
> indicate that "make linux-menuconfig" works both with and without the
> blacklist. I tried this with a default configuration (make distclean ->
> make menuconfig -> enable Linux and use an architecture default config
> file -> make linux-menuconfig), and this results in a full host
> structure being set up in output/host. So it seems like the blacklist
> of these two extra variables isn't strictly necessary. Or am I missing
> something? That said, looking at the documentation, maybe this takes
> away the ability for a user to have a custom pkg-config path - I'm
> using the default installation. So in that sense, blacklisting does
> seem like the right thing to do. I'll add this and post a quick update.

TBH, I think we should really blacklist them, indeed, so that we are
sure the distro provided pkg-config works as expected.

Thanks for the feedback!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] linux: use host pkg-config when host libelf is set
  2019-04-05 18:47   ` [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set Stuart Summers
  2019-04-06 20:31     ` Yann E. MORIN
@ 2019-04-08 18:42     ` Stuart Summers
  2019-04-08 19:28       ` Yann E. MORIN
  2019-04-13 15:09       ` Arnout Vandecappelle
  1 sibling, 2 replies; 16+ messages in thread
From: Stuart Summers @ 2019-04-08 18:42 UTC (permalink / raw)
  To: buildroot

A patch was added to the Linux kernel in 5.1.0-rc3 which
adds a requirement that the host build environment include
pkg-config. Add the correct host-pkgconf dependency and
environment variables to ensure Linux picks up the correct
libraries.

v2: Use LINUX_MAKE_ENV to pass PKG_CONFIG_* options (Thomas)
v3: Add PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} to kconfig
    blacklist and move LINUX_MAKE_ENV initial assign in
    linux.mk before DEP* assignments (Yann)

Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Stuart Summers <stuart.summers@intel.com>
---
 linux/linux.mk         | 16 +++++++++++-----
 package/pkg-kconfig.mk |  4 +++-
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/linux/linux.mk b/linux/linux.mk
index 6bf2b88038..d209a5cf59 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -61,6 +61,10 @@ LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
 # be directories in the patch list (unlike for other packages).
 LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
 
+LINUX_MAKE_ENV = \
+	$(TARGET_MAKE_ENV) \
+	BR_BINARIES_DIR=$(BINARIES_DIR)
+
 LINUX_INSTALL_IMAGES = YES
 LINUX_DEPENDENCIES = host-kmod
 
@@ -97,7 +101,13 @@ LINUX_DEPENDENCIES += host-openssl
 endif
 
 ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
-LINUX_DEPENDENCIES += host-elfutils
+LINUX_DEPENDENCIES += host-elfutils host-pkgconf
+LINUX_MAKE_ENV += \
+	PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
+	PKG_CONFIG_SYSROOT_DIR="/" \
+	PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
+	PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
+	PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"
 endif
 
 # If host-uboot-tools is selected by the user, assume it is needed to
@@ -121,10 +131,6 @@ LINUX_MAKE_FLAGS = \
 	CROSS_COMPILE="$(TARGET_CROSS)" \
 	DEPMOD=$(HOST_DIR)/sbin/depmod
 
-LINUX_MAKE_ENV = \
-	$(TARGET_MAKE_ENV) \
-	BR_BINARIES_DIR=$(BINARIES_DIR)
-
 ifeq ($(BR2_REPRODUCIBLE),y)
 LINUX_MAKE_ENV += \
 	KBUILD_BUILD_VERSION=1 \
diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
index d6c95b897e..e53cc9002e 100644
--- a/package/pkg-kconfig.mk
+++ b/package/pkg-kconfig.mk
@@ -175,7 +175,9 @@ endif
 # nconfig, gconfig, xconfig).
 # So we simply remove our PATH and PKG_CONFIG_* variables.
 $(2)_CONFIGURATOR_MAKE_ENV = \
-	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
+	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% \
+	   PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=% PKG_CONFIG_ALLOW_SYSTEM_LIBS=% \
+	   PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
 	PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)"
 
 # Configuration editors (menuconfig, ...)
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] linux: use host pkg-config when host libelf is set
  2019-04-08 18:42     ` [Buildroot] [PATCH 1/1] " Stuart Summers
@ 2019-04-08 19:28       ` Yann E. MORIN
  2019-04-08 19:41         ` Summers, Stuart
  2019-04-13 15:09       ` Arnout Vandecappelle
  1 sibling, 1 reply; 16+ messages in thread
From: Yann E. MORIN @ 2019-04-08 19:28 UTC (permalink / raw)
  To: buildroot

Stuart, All,

On 2019-04-08 11:42 -0700, Stuart Summers spake thusly:
> A patch was added to the Linux kernel in 5.1.0-rc3 which
> adds a requirement that the host build environment include
> pkg-config. Add the correct host-pkgconf dependency and
> environment variables to ensure Linux picks up the correct
> libraries.

Additionally:

    Move the existing LINUX_MAKE_ENV assignment earlier, to simplify
    the append-assignment in the libelf conditional block.

And since you posted your patch, someone opened a bug in our tracker,
so:

    Fixes: #11761

> v2: Use LINUX_MAKE_ENV to pass PKG_CONFIG_* options (Thomas)
> v3: Add PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} to kconfig
>     blacklist and move LINUX_MAKE_ENV initial assign in
>     linux.mk before DEP* assignments (Yann)

This v2-v3 changelog should be after the --- line, below...

> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Stuart Summers <stuart.summers@intel.com>
> ---

... here.

>  linux/linux.mk         | 16 +++++++++++-----
>  package/pkg-kconfig.mk |  4 +++-
>  2 files changed, 14 insertions(+), 6 deletions(-)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index 6bf2b88038..d209a5cf59 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -61,6 +61,10 @@ LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH))
>  # be directories in the patch list (unlike for other packages).
>  LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES))
>  
> +LINUX_MAKE_ENV = \
> +	$(TARGET_MAKE_ENV) \
> +	BR_BINARIES_DIR=$(BINARIES_DIR)
> +
>  LINUX_INSTALL_IMAGES = YES
>  LINUX_DEPENDENCIES = host-kmod
>  
> @@ -97,7 +101,13 @@ LINUX_DEPENDENCIES += host-openssl
>  endif
>  
>  ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
> -LINUX_DEPENDENCIES += host-elfutils
> +LINUX_DEPENDENCIES += host-elfutils host-pkgconf
> +LINUX_MAKE_ENV += \
> +	PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> +	PKG_CONFIG_SYSROOT_DIR="/" \
> +	PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
> +	PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
> +	PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/pkgconfig"
>  endif
>  
>  # If host-uboot-tools is selected by the user, assume it is needed to
> @@ -121,10 +131,6 @@ LINUX_MAKE_FLAGS = \
>  	CROSS_COMPILE="$(TARGET_CROSS)" \
>  	DEPMOD=$(HOST_DIR)/sbin/depmod
>  
> -LINUX_MAKE_ENV = \
> -	$(TARGET_MAKE_ENV) \
> -	BR_BINARIES_DIR=$(BINARIES_DIR)
> -
>  ifeq ($(BR2_REPRODUCIBLE),y)
>  LINUX_MAKE_ENV += \
>  	KBUILD_BUILD_VERSION=1 \
> diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
> index d6c95b897e..e53cc9002e 100644
> --- a/package/pkg-kconfig.mk
> +++ b/package/pkg-kconfig.mk
> @@ -175,7 +175,9 @@ endif
>  # nconfig, gconfig, xconfig).
>  # So we simply remove our PATH and PKG_CONFIG_* variables.
>  $(2)_CONFIGURATOR_MAKE_ENV = \
> -	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
> +	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% \
> +	   PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=% PKG_CONFIG_ALLOW_SYSTEM_LIBS=% \
> +	   PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \

I'm not too happy about the look the above has, but I have no better
formatting suggestion to provide...

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

>  	PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)"
>  
>  # Configuration editors (menuconfig, ...)
> -- 
> 2.20.1
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] linux: use host pkg-config when host libelf is set
  2019-04-08 19:28       ` Yann E. MORIN
@ 2019-04-08 19:41         ` Summers, Stuart
  2019-04-08 20:01           ` Yann E. MORIN
  0 siblings, 1 reply; 16+ messages in thread
From: Summers, Stuart @ 2019-04-08 19:41 UTC (permalink / raw)
  To: buildroot

On Mon, 2019-04-08 at 21:28 +0200, Yann E. MORIN wrote:
> Stuart, All,
> 
> On 2019-04-08 11:42 -0700, Stuart Summers spake thusly:
> > A patch was added to the Linux kernel in 5.1.0-rc3 which
> > adds a requirement that the host build environment include
> > pkg-config. Add the correct host-pkgconf dependency and
> > environment variables to ensure Linux picks up the correct
> > libraries.
> 
> Additionally:
> 
>     Move the existing LINUX_MAKE_ENV assignment earlier, to simplify
>     the append-assignment in the libelf conditional block.

Makes sense.

> 
> And since you posted your patch, someone opened a bug in our tracker,
> so:
> 
>     Fixes: #11761

Ah, didn't see this bug until after I sent out the patch. Thanks for
the update there!

> 
> > v2: Use LINUX_MAKE_ENV to pass PKG_CONFIG_* options (Thomas)
> > v3: Add PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} to kconfig
> >     blacklist and move LINUX_MAKE_ENV initial assign in
> >     linux.mk before DEP* assignments (Yann)
> 
> This v2-v3 changelog should be after the --- line, below...

In the future, I'll format this way, thanks for the pointer.

> 
> > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> > Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Signed-off-by: Stuart Summers <stuart.summers@intel.com>
> > ---
> 
> ... here.
> 
> >  linux/linux.mk         | 16 +++++++++++-----
> >  package/pkg-kconfig.mk |  4 +++-
> >  2 files changed, 14 insertions(+), 6 deletions(-)
> > 
> > diff --git a/linux/linux.mk b/linux/linux.mk
> > index 6bf2b88038..d209a5cf59 100644
> > --- a/linux/linux.mk
> > +++ b/linux/linux.mk
> > @@ -61,6 +61,10 @@ LINUX_PATCHES = $(call
> > qstrip,$(BR2_LINUX_KERNEL_PATCH))
> >  # be directories in the patch list (unlike for other packages).
> >  LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES)
> > )
> >  
> > +LINUX_MAKE_ENV = \
> > +	$(TARGET_MAKE_ENV) \
> > +	BR_BINARIES_DIR=$(BINARIES_DIR)
> > +
> >  LINUX_INSTALL_IMAGES = YES
> >  LINUX_DEPENDENCIES = host-kmod
> >  
> > @@ -97,7 +101,13 @@ LINUX_DEPENDENCIES += host-openssl
> >  endif
> >  
> >  ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
> > -LINUX_DEPENDENCIES += host-elfutils
> > +LINUX_DEPENDENCIES += host-elfutils host-pkgconf
> > +LINUX_MAKE_ENV += \
> > +	PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
> > +	PKG_CONFIG_SYSROOT_DIR="/" \
> > +	PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
> > +	PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
> > +	PKG_CONFIG_LIBDIR="$(HOST_DIR)/lib/pkgconfig:$(HOST_DIR)/share/
> > pkgconfig"
> >  endif
> >  
> >  # If host-uboot-tools is selected by the user, assume it is needed
> > to
> > @@ -121,10 +131,6 @@ LINUX_MAKE_FLAGS = \
> >  	CROSS_COMPILE="$(TARGET_CROSS)" \
> >  	DEPMOD=$(HOST_DIR)/sbin/depmod
> >  
> > -LINUX_MAKE_ENV = \
> > -	$(TARGET_MAKE_ENV) \
> > -	BR_BINARIES_DIR=$(BINARIES_DIR)
> > -
> >  ifeq ($(BR2_REPRODUCIBLE),y)
> >  LINUX_MAKE_ENV += \
> >  	KBUILD_BUILD_VERSION=1 \
> > diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
> > index d6c95b897e..e53cc9002e 100644
> > --- a/package/pkg-kconfig.mk
> > +++ b/package/pkg-kconfig.mk
> > @@ -175,7 +175,9 @@ endif
> >  # nconfig, gconfig, xconfig).
> >  # So we simply remove our PATH and PKG_CONFIG_* variables.
> >  $(2)_CONFIGURATOR_MAKE_ENV = \
> > -	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=%
> > PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
> > +	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% \
> > +	   PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=%
> > PKG_CONFIG_ALLOW_SYSTEM_LIBS=% \
> > +	   PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
> 
> I'm not too happy abfor the poout the look the above has, but I have
> no better
> formatting suggestion to provide...

Yeah, I agree it looks ugly.. If you have suggestions, I'm happy to
take a look.

> 
> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Thanks for the review and the time here!

Given this is my first patch, I'm not sure I have push rights. Can you
help with merging? Also, would you like a re-post with the commit
message recommendations above?

Thanks,
Stuart

> 
> Regards,
> Yann E. MORIN.
> 
> >  	PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)"
> >  
> >  # Configuration editors (menuconfig, ...)
> > -- 
> > 2.20.1
> > 
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3270 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190408/be12d5eb/attachment.bin>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] linux: use host pkg-config when host libelf is set
  2019-04-08 19:41         ` Summers, Stuart
@ 2019-04-08 20:01           ` Yann E. MORIN
  0 siblings, 0 replies; 16+ messages in thread
From: Yann E. MORIN @ 2019-04-08 20:01 UTC (permalink / raw)
  To: buildroot

Stuart, All,

On 2019-04-08 19:41 +0000, Summers, Stuart spake thusly:
> On Mon, 2019-04-08 at 21:28 +0200, Yann E. MORIN wrote:
[--SNIP--]
> > >  $(2)_CONFIGURATOR_MAKE_ENV = \
> > > -	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=%
> > > PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
> > > +	$$(filter-out PATH=% PKG_CONFIG=% PKG_CONFIG_SYSROOT_DIR=% \
> > > +	   PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=%
> > > PKG_CONFIG_ALLOW_SYSTEM_LIBS=% \
> > > +	   PKG_CONFIG_LIBDIR=%,$$($(2)_MAKE_ENV)) \
> > 
> > I'm not too happy abfor the poout the look the above has, but I have
> > no better
> > formatting suggestion to provide...
> Yeah, I agree it looks ugly.. If you have suggestions, I'm happy to
> take a look.

No, I ahve no better suggestion, really, hence I gave my:

> > Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> Thanks for the review and the time here!
> 
> Given this is my first patch, I'm not sure I have push rights. Can you
> help with merging? Also, would you like a re-post with the commit
> message recommendations above?

When one of the three maintainer have time, they'll pick up that patch
and apply; it's not going to be forgotten: all patches are tracked on
patchwork:
    https://patchwork.ozlabs.org/project/buildroot/list/

The committer can probably apply the tweaks I suggested when they apply,
so no need to respin unless requested, now.

Thanks!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] linux: use host pkg-config when host libelf is set
  2019-04-08 18:42     ` [Buildroot] [PATCH 1/1] " Stuart Summers
  2019-04-08 19:28       ` Yann E. MORIN
@ 2019-04-13 15:09       ` Arnout Vandecappelle
  2019-04-15 14:29         ` Summers, Stuart
  1 sibling, 1 reply; 16+ messages in thread
From: Arnout Vandecappelle @ 2019-04-13 15:09 UTC (permalink / raw)
  To: buildroot



On 08/04/2019 20:42, Stuart Summers wrote:
> A patch was added to the Linux kernel in 5.1.0-rc3 which
> adds a requirement that the host build environment include
> pkg-config. Add the correct host-pkgconf dependency and
> environment variables to ensure Linux picks up the correct
> libraries.
> 
> v2: Use LINUX_MAKE_ENV to pass PKG_CONFIG_* options (Thomas)
> v3: Add PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} to kconfig
>     blacklist and move LINUX_MAKE_ENV initial assign in
>     linux.mk before DEP* assignments (Yann)
> 
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Stuart Summers <stuart.summers@intel.com>

 Applied to master with Yann's suggested changes to the commit message, thank.

 Regards,
 Arnout

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Buildroot] [PATCH 1/1] linux: use host pkg-config when host libelf is set
  2019-04-13 15:09       ` Arnout Vandecappelle
@ 2019-04-15 14:29         ` Summers, Stuart
  0 siblings, 0 replies; 16+ messages in thread
From: Summers, Stuart @ 2019-04-15 14:29 UTC (permalink / raw)
  To: buildroot

On Sat, 2019-04-13 at 17:09 +0200, Arnout Vandecappelle wrote:
> 
> On 08/04/2019 20:42, Stuart Summers wrote:
> > A patch was added to the Linux kernel in 5.1.0-rc3 which
> > adds a requirement that the host build environment include
> > pkg-config. Add the correct host-pkgconf dependency and
> > environment variables to ensure Linux picks up the correct
> > libraries.
> > 
> > v2: Use LINUX_MAKE_ENV to pass PKG_CONFIG_* options (Thomas)
> > v3: Add PKG_CONFIG_ALLOW_SYSTEM_{CFLAGS,LIBS} to kconfig
> >     blacklist and move LINUX_MAKE_ENV initial assign in
> >     linux.mk before DEP* assignments (Yann)
> > 
> > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> > Suggested-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Signed-off-by: Stuart Summers <stuart.summers@intel.com>
> 
>  Applied to master with Yann's suggested changes to the commit
> message, thank.

Thanks!

-Stuart

> 
>  Regards,
>  Arnout
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3270 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190415/03e5ce56/attachment.bin>

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-04-15 14:29 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-04 19:24 [Buildroot] [PATCH 0/1] [RFC] fix kernel build failure for 5.1.0-rc3 Stuart Summers
2019-04-04 19:24 ` [Buildroot] [PATCH 1/1] package/pkgconf: add host link to pkg-config Stuart Summers
2019-04-04 19:42   ` Thomas Petazzoni
2019-04-04 21:30     ` Summers, Stuart
2019-04-05  7:53       ` Thomas Petazzoni
2019-04-05 18:50         ` Summers, Stuart
2019-04-05 18:47   ` [Buildroot] [PATCH] linux: use host pkg-config when host libelf is set Stuart Summers
2019-04-06 20:31     ` Yann E. MORIN
2019-04-08 16:00       ` Summers, Stuart
2019-04-08 16:36         ` Yann E. MORIN
2019-04-08 18:42     ` [Buildroot] [PATCH 1/1] " Stuart Summers
2019-04-08 19:28       ` Yann E. MORIN
2019-04-08 19:41         ` Summers, Stuart
2019-04-08 20:01           ` Yann E. MORIN
2019-04-13 15:09       ` Arnout Vandecappelle
2019-04-15 14:29         ` Summers, Stuart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.