All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] linux: use host pkg-config when host libelf is set
Date: Mon, 8 Apr 2019 21:28:40 +0200	[thread overview]
Message-ID: <20190408192840.GB23890@scaer> (raw)
In-Reply-To: <20190408184233.10697-1-stuart.summers@intel.com>

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.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2019-04-08 19:28 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190408192840.GB23890@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.