* [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 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-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] 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox