Hi Richard and Bruce,
Thanks for your suggestion,
On 5/11/23 00:25, Bruce Ashfield wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know
the content is safe.
On Wed, May 10, 2023 at 12:16 PM Richard Purdie
<richard.pur...@linuxfoundation.org> wrote:
On Mon, 2023-05-08 at 09:33 +0800, Xiangyu Chen wrote:
From: Xiangyu Chen <xiangyu.c...@windriver.com>
after enable the kernel CONFIG_DEBUG_INFO_BTF in devshell, the make would
report some
errors due to pahole and elfuitls is missing, since this is a debug option, so
conditionally
add an option named "btf" in KERNEL_DEBUG_OPTIONS, if someone need enable
CONFIG_DEBUG_INFO_BTF
option in devshell, they can add KERNEL_DEBUG_OPTIONS += "btf" in local.conf to
solve the pahole
and elfutils dependency.
Is this a defined workflow somewhere? Is KERNEL_DEBUG_OPTIONS with this
option documented somewhere?
I also think the mention of devshell in the commit message is
misleading, this issue happens regardless of how you enable the option.
There are also other ways of enabling this than local.conf, you'd
likely not want people doing that at the end of development.
I'm curious on Bruce's opinion but to me this at the very least needs a
commit message rewrite and I'd question whether the docs elsewhere
would allow someone to discover this workflow anyway.
I missed this entirely, thanks for replying to it, or I never would
have noticed.
This mechanism isn't appropriate for these dependencies. I only added
it to work around pkgconfig issues (which we can more cleanly solve in
newer kernels (see what I've been doing with make-mod-scripts) .. so
it can eventually be dropped).
We are already enabling elfutils-native conditionally on a
per-architecture basis (currently only x86-64).
If we need it on more arches now, we should enable it in the version
specific recipes, or actually, we have moved far enough into newer
kernel's that it could be in the .inc now.
This commit's background was some kernel debug options needs elfutils
and pahole native package, since the issue happens on enabling kernel
debug options and not all people needs it, so I conditionally add the
dependency in KERNEL_DEBUG_OPTION.
If possible we can enable it in .inc because newer kernel tools like btf
are support using pkg-config to locate the libelf instead of finding it
from /usr/ folder, so we can use elfutils-natvie instead of installing
elfutils package on host PC.
Similarly, we should enable the pahole-native dependency on a per-arch basis.
As Richard mentioned, what's the reproducer to see the errors ? it
must be more than devshell.
Yes, this happens on devshell and normal world if some kernel debug
options are enabled. We can reproduce this issue with following steps(I
have found the issue with kernel 5.15):
1. enable kernel option CONFIG_DEBUG_KERNEL CONFIG_DEBUG_INFO and
CONFIG_DEBUG_INFO_BTF
2. build the kernel image, the compiler would report missing libelf.h
and gelf.h which contains in elfutils-native(this step not happens on
x86-64 due to it has been enabled).
3. enable elfutils-native by manual, the kernel source code can be
compiled successfully but failed in final step due to missing pahole.
If you can follow up with the steps to reproduce, I can take on the
refactoring and broader dependency cleanup question, since I can test
the wider matrix at the same time.
Thanks, my local setup might missing some corner case, this is another
reason I enable those native packages limit in KERNEL_DEBUG_OPTION :).
Xiangyu
Bruce
Cheers,
Richard
--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#181125):
https://lists.openembedded.org/g/openembedded-core/message/181125
Mute This Topic: https://lists.openembedded.org/mt/98753313/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-