kmods fail to build due to missing elfutils-libelf-devel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
High
|
Scott Little |
Bug Description
Brief Description
-----------------
All kmods fail to build reliably against 4.18 kernel.
Error message is always ...
Makefile:977: *** "Cannot generate ORC metadata for CONFIG_
make: *** [default] Error 2
RPM build errors:
Severity
--------
Critical
Steps to Reproduce
------------------
1) if only kmod has changed and environment supports build-avoidance.
build-pkgs
2) more general
build-pkgs
build-pkgs --clean <kmod>
cd $MY_WORKSPACE/
mock -r */*b0.cfg --clean
mock -r */*b0.cfg --scrub=all
build-pkgs <kmod>
Expected Behavior
------------------
kmod builds
Actual Behavior
----------------
kmod fails to build
Reproducibility
---------------
Reproducible
System Configuration
-------
N/A
Branch/Pull Time/Commit
-------
master, May 22 2020
Last Pass
---------
May 20, 2020
Timestamp/Logs
--------------
Makefile:977: *** "Cannot generate ORC metadata for CONFIG_
make: *** [default] Error 2
RPM build errors:
Test Activity
-------------
Build
Workaround
----------
N/A
tags: | added: stx.build |
Changed in starlingx: | |
assignee: | nobody → Scott Little (slittle1) |
importance: | Undecided → High |
tags: | added: stx.4.0 |
Reviewed: https:/ /review. opendev. org/730421 /git.openstack. org/cgit/ starlingx/ kernel/ commit/ ?id=494c52a7db3 d196e4b9ca51da2 bccdb1287e22ca
Committed: https:/
Submitter: Zuul
Branch: master
commit 494c52a7db3d196 e4b9ca51da2bccd b1287e22ca
Author: Scott Little <email address hidden>
Date: Fri May 22 17:33:38 2020 -0400
Add missing BuildRequires to allow kmods to build reliably
The original update that broke layered build was /review. opendev. org/#/c/ 727908
https:/
all kmods failed to build due to a missing BuildRequires libelf- devel.
on elfutils-
The actual error message was:
Makefile:977: *** "Cannot generate ORC metadata for UNWINDER_ ORC=y, please install libelf-dev, libelf-devel or libelf- devel". Stop.
CONFIG_
elfutils-
make: *** [default] Error 2
RPM build errors:
In the case of centos, it is elfutils- libelf- devel that we need. libelf- devel'
The need for the kmod appears to relate to the new 4.18 kernel.
It might be that kernel-devel should now have a 'Require
elfutils-
Reproducibility depends on one of a few factors. If libelf- devel may already be present within the mock libelf- devel, and produces
elfutils-
environment due to build of a prior package, the build will pass.
The kernel build pulls in elfutils-
kernel-devel which is required for kmod builds. So it's easy to
overlook this defect.
So we need a build where mock is clean yet the kernel is already
built. Two possibilities.
1) clean mock after building the kernel, but before building the kmods.
2) build avoidance when the kernel has not changed, but the kmod has.
CENGN layered build hit the second scenario.
This fix tackles the problem from the kmod side by adding BuildRequires libelf- devel to each kmod.
elfutils-
An alternative approach might be to add a Requires elfutils- libelf- devel
to kernel-devel. That option has not yet been explored. So I'll call
that a partial fix only.
Partial-Bug: 1878072 401fa6594358c05 78d81e3f678
Partial-Bug: 1880248
Change-Id: I472a5a285c2b47
Signed-off-by: Scott Little <email address hidden>