[OE-core] [PATCH] perf: fix build on kernels which don't have ${S}/tools/include/linux/bits.h

Martin Jansa martin.jansa at gmail.com
Fri Sep 13 08:28:02 UTC 2019


* tools/include/linux/bits.h was added in v4.20-rc1 with this commit:
  commit ba4aa02b417f08a0bee5e7b8ed70cac788a7c854
  Author: Arnaldo Carvalho de Melo <acme at redhat.com>
  Date:   Tue Sep 25 10:55:59 2018 -0300

    tools include: Adopt linux/bits.h

* also if you're building for such older kernel you will probably see
  do_compile failing with:
  | config/Makefile:448: Missing perl devel files. Disabling perl scripting support, please install perl-ExtUtils-Embed/libperl-dev
  | config/Makefile:495: Python 3 is not yet supported; please set
  | config/Makefile:496: PYTHON and/or PYTHON_CONFIG appropriately.

  easiest work around is to disable scripting PACKAGECONFIG, because
  since oe-core commit:

  commit 584af667e0000129bcb5c9e8108485f2f6590eaf
  Author: Bruce Ashfield <bruce.ashfield at gmail.com>
  Date:   Wed Aug 28 22:14:41 2019 -0400

    perf: change dependencies on python to python3

    The upstream kernel can now handle python3 for the perf scripts, coupled
    with the impending EOL of python2, we switch the dependencies in perf
    (scripting) to python3.

  it now uses python3, but the support for that was added in kernel
  v4.17-rc1 with:

  commit 66dfdff03d196e51322c6a85c0d8db8bb2bdd655
  Author: Jaroslav Skarvada <jskarvad at redhat.com>
  Date:   Fri Jan 19 21:56:41 2018 +0100

    perf tools: Add Python 3 support

    Added Python 3 support while keeping Python 2.7 compatibility.

  if you really need scripting support than either backport the kernel
  patch to your kernel or undo the perf recipe changes.

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
---
 meta/recipes-kernel/perf/perf.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 7f00df0f8e..8201c0cb60 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -244,8 +244,8 @@ do_configure_prepend () {
     install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
     install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h
 
-    # bits.h can have the same issuen as unistd.h, so we make the tools variant take precedence
-    install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h
+    # bits.h can have the same issue as unistd.h, so we make the tools variant take precedence
+    [ -e ${S}/tools/include/linux/bits.h ] && install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h
 }
 
 python do_package_prepend() {
-- 
2.17.1



More information about the Openembedded-core mailing list