* perf: nativesdk
@ 2025-06-19 7:53 Andrej Valek
2025-06-19 7:56 ` [OE-core] " Alexander Kanavin
2025-06-19 11:21 ` Richard Purdie
0 siblings, 2 replies; 10+ messages in thread
From: Andrej Valek @ 2025-06-19 7:53 UTC (permalink / raw)
To: openembedded-core@lists.openembedded.org
Hello,
I know, that what I'm doing is not fully supported way, but... . I
wanted to build the perf for target device (aarch64), record the data
and analyze them on the host. So I extended the recipe by adding
BBCLASSEXTEND = "native nativesdk".
After that I have compilation failure do to missing manifest.
ERROR: nativesdk-perf-1.0-r0 do_configure: The sstate manifest for task
'linux-libc-headers:populate_sysroot' (multilib variant '') could not be
found.
The pkgarchs considered were: machineA, cortexa53, cortexa53, cortexa53,
armv8a-crc, armv8a, aarch64, allarch, x86_64_x86_64-nativesdk.
But none of these manifests exists:
/home/build/tmp/sstate-control/manifest-machineA-linux-libc-headers.populate_sysroot
/home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot
/home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot
/home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot
/home/build/tmp/sstate-control/manifest-armv8a-crc-linux-libc-headers.populate_sysroot
/home/build/tmp/sstate-control/manifest-armv8a-linux-libc-headers.populate_sysroot
/home/build/tmp/sstate-control/manifest-aarch64-linux-libc-headers.populate_sysroot
/home/build/tmp/sstate-control/manifest-allarch-linux-libc-headers.populate_sysroot
/home/build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-linux-libc-headers.populate_sysroot
The "linux-libc-headers" dependency is coming from "gcc-cross-aarch64".
EXTRADEPENDS = ""
DEPENDS = "virtual/${TARGET_PREFIX}binutils ${EXTRADEPENDS} ${NATIVEDEPS}"
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
python () {
if d.getVar("TARGET_OS").startswith("linux"):
d.setVar("EXTRADEPENDS", "linux-libc-headers")
}
This function adds the dependency without respecting any
native/nativesdk variant.
I know touching the "PACKAGE_EXTRA_ARCHS" or removing this function
above it's not right way to fix it.
How to deal with something like that?
Thanks,
Andy
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [OE-core] perf: nativesdk 2025-06-19 7:53 perf: nativesdk Andrej Valek @ 2025-06-19 7:56 ` Alexander Kanavin 2025-06-19 8:07 ` Andrej Valek 2025-06-19 11:21 ` Richard Purdie 1 sibling, 1 reply; 10+ messages in thread From: Alexander Kanavin @ 2025-06-19 7:56 UTC (permalink / raw) To: andrej.v; +Cc: openembedded-core@lists.openembedded.org On Thu, 19 Jun 2025 at 09:53, Andrej Valek via lists.openembedded.org <andrej.v=skyrain.eu@lists.openembedded.org> wrote: > I know, that what I'm doing is not fully supported way, but... . I > wanted to build the perf for target device (aarch64), record the data > and analyze them on the host. So I extended the recipe by adding > BBCLASSEXTEND = "native nativesdk". If you want to run perf natively, just 'native' should be enough for a start, no? Alex ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [OE-core] perf: nativesdk 2025-06-19 7:56 ` [OE-core] " Alexander Kanavin @ 2025-06-19 8:07 ` Andrej Valek 2025-06-19 8:13 ` Alexander Kanavin 0 siblings, 1 reply; 10+ messages in thread From: Andrej Valek @ 2025-06-19 8:07 UTC (permalink / raw) To: alex.kanavin; +Cc: openembedded-core@lists.openembedded.org Hi Alex, maybe I have to do some more tuning, but what I did: BBCLASSEXTEND = "native nativesdk" DEPENDS:remove:class-native = "virtual/${MLPREFIX}libc" then I run: "bitbake perf-native" and I have the same issue: ERROR: perf-native-1.0-r0 do_configure: The sstate manifest for task 'linux-libc-headers:populate_sysroot' (multilib variant '') could not be found. The pkgarchs considered were: machineA, cortexa53, cortexa53, armv8a-crc, armv8a, aarch64, allarch, x86_64_x86_64-nativesdk. But none of these manifests exists: /home/build/tmp/sstate-control/manifest-machineA-linux-libc-headers.populate_sysroot /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot /home/build/tmp/sstate-control/manifest-armv8a-crc-linux-libc-headers.populate_sysroot /home/build/tmp/sstate-control/manifest-armv8a-linux-libc-headers.populate_sysroot /home/build/tmp/sstate-control/manifest-aarch64-linux-libc-headers.populate_sysroot /home/build/tmp/sstate-control/manifest-allarch-linux-libc-headers.populate_sysroot /home/build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-linux-libc-headers.populate_sysroot So nope, it's not working. Other option is to use perf from host system, but not sure if it's while it has completely different options. BR, Andy On 19.06.2025 09:56, Alexander Kanavin via lists.openembedded.org wrote: > On Thu, 19 Jun 2025 at 09:53, Andrej Valek via lists.openembedded.org > <andrej.v=skyrain.eu@lists.openembedded.org> wrote: >> I know, that what I'm doing is not fully supported way, but... . I >> wanted to build the perf for target device (aarch64), record the data >> and analyze them on the host. So I extended the recipe by adding >> BBCLASSEXTEND = "native nativesdk". > If you want to run perf natively, just 'native' should be enough for a > start, no? > > Alex > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#219056): https://lists.openembedded.org/g/openembedded-core/message/219056 > Mute This Topic: https://lists.openembedded.org/mt/113722107/3619876 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [andrej.v@skyrain.eu] > -=-=-=-=-=-=-=-=-=-=-=- > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [OE-core] perf: nativesdk 2025-06-19 8:07 ` Andrej Valek @ 2025-06-19 8:13 ` Alexander Kanavin 2025-06-19 8:59 ` Marko, Peter 0 siblings, 1 reply; 10+ messages in thread From: Alexander Kanavin @ 2025-06-19 8:13 UTC (permalink / raw) To: Andrej Valek; +Cc: openembedded-core@lists.openembedded.org On Thu, 19 Jun 2025 at 10:07, Andrej Valek <andrej.v@skyrain.eu> wrote: > maybe I have to do some more tuning, but what I did: > BBCLASSEXTEND = "native nativesdk" > DEPENDS:remove:class-native = "virtual/${MLPREFIX}libc" > > then I run: "bitbake perf-native" and I have the same issue: > > ERROR: perf-native-1.0-r0 do_configure: The sstate manifest for task > 'linux-libc-headers:populate_sysroot' (multilib variant '') could not be > found. > The pkgarchs considered were: machineA, cortexa53, cortexa53, > armv8a-crc, armv8a, aarch64, allarch, x86_64_x86_64-nativesdk. > But none of these manifests exists: > > /home/build/tmp/sstate-control/manifest-machineA-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-armv8a-crc-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-armv8a-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-aarch64-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-allarch-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-linux-libc-headers.populate_sysroot > > So nope, it's not working. It seems as though perf recipe depends on the kernel sources too, so as it stands, you can't build it natively. I'd directly eliminate the target deps (e.g. actually remove them from the recipe, as an experiment) and see how far you get with bitbake perf-native. Alex ^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [OE-core] perf: nativesdk 2025-06-19 8:13 ` Alexander Kanavin @ 2025-06-19 8:59 ` Marko, Peter 2025-06-19 10:57 ` Andrej Valek 0 siblings, 1 reply; 10+ messages in thread From: Marko, Peter @ 2025-06-19 8:59 UTC (permalink / raw) To: Andrej Valek Cc: openembedded-core@lists.openembedded.org, alex.kanavin@gmail.com What you want to do is not really possible. Perf recipe does not have its own sources, it only copies sources from kernel and then builds them. And you cannot depend on target recipe (kernel) in native recipe (perf-native). Also I doubt that perf supports cross-build, meaning analyzing ARM processor counters on x86. You may have to match your native host machine with target device maybe to point of exact processor type, not only architecture type. Peter > -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded- > core@lists.openembedded.org> On Behalf Of Alexander Kanavin via > lists.openembedded.org > Sent: Thursday, June 19, 2025 10:13 > To: Andrej Valek <andrej.v@skyrain.eu> > Cc: openembedded-core@lists.openembedded.org > Subject: Re: [OE-core] perf: nativesdk > > On Thu, 19 Jun 2025 at 10:07, Andrej Valek <andrej.v@skyrain.eu> wrote: > > maybe I have to do some more tuning, but what I did: > > BBCLASSEXTEND = "native nativesdk" > > DEPENDS:remove:class-native = "virtual/${MLPREFIX}libc" > > > > then I run: "bitbake perf-native" and I have the same issue: > > > > ERROR: perf-native-1.0-r0 do_configure: The sstate manifest for task > > 'linux-libc-headers:populate_sysroot' (multilib variant '') could not be > > found. > > The pkgarchs considered were: machineA, cortexa53, cortexa53, > > armv8a-crc, armv8a, aarch64, allarch, x86_64_x86_64-nativesdk. > > But none of these manifests exists: > > > > /home/build/tmp/sstate-control/manifest-machineA-linux-libc- > headers.populate_sysroot > > /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc- > headers.populate_sysroot > > /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc- > headers.populate_sysroot > > /home/build/tmp/sstate-control/manifest-armv8a-crc-linux-libc- > headers.populate_sysroot > > /home/build/tmp/sstate-control/manifest-armv8a-linux-libc- > headers.populate_sysroot > > /home/build/tmp/sstate-control/manifest-aarch64-linux-libc- > headers.populate_sysroot > > /home/build/tmp/sstate-control/manifest-allarch-linux-libc- > headers.populate_sysroot > > /home/build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-linux-libc- > headers.populate_sysroot > > > > So nope, it's not working. > > It seems as though perf recipe depends on the kernel sources too, so > as it stands, you can't build it natively. I'd directly eliminate the > target deps (e.g. actually remove them from the recipe, as an > experiment) and see how far you get with bitbake perf-native. > > Alex ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [OE-core] perf: nativesdk 2025-06-19 8:59 ` Marko, Peter @ 2025-06-19 10:57 ` Andrej Valek 0 siblings, 0 replies; 10+ messages in thread From: Andrej Valek @ 2025-06-19 10:57 UTC (permalink / raw) To: peter.marko Cc: openembedded-core@lists.openembedded.org, alex.kanavin@gmail.com [-- Attachment #1: Type: text/plain, Size: 5563 bytes --] Thanks for pointing me out to the right direction. Yes, I know, that the perf sources are coming directly from kernel. So > It seems as though perf recipe depends on the kernel sources too, so > as it stands, you can't build it natively. I'd directly eliminate the > target deps (e.g. actually remove them from the recipe, as an > experiment) and see how far you get with bitbake perf-native. is not possible. But anyway, at the begging I was going with the wrong direction. But yes, once I commented-out the section in gcc-cross, I was able to compile a nativesdk- variant, file perf perf: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-hiltisdk-linux/lib/ld-linux-x86-64.so.2, BuildID[sha1]=34bfdb0e321eae26426e45c78c29f63e73ee62d4, for GNU/Linux 3.2.0, with debug_info, not stripped but didn't invest more time in tuning or execution. > Also I doubt that perf supports cross-build, meaning analyzing ARM processor counters on x86. > You may have to match your native host machine with target device maybe to point of exact processor type, not only architecture type. I know, that this has to be matching due to ABI, unwinding and so on... . On the other hand, if I didn't have confirmation, that x86 could in some modes understand arm64 counters I didn't go in this direction. x86_64 x86_64 x86_64 GNU/Linux variant of perf perf script -i perf.data --symfs rootfs unwind: target platform=arm64 is not supported systemd-logind 339 65.306223: 1 cycles:P: ffff80008007ff30 [unknown] ([kernel.kallsyms]) systemd-logind 339 65.306230: 1 cycles:P: ffff80008007ff30 [unknown] ([kernel.kallsyms]) So yes, script or inject modes can do some stuff. So I wanted to use the perf binary directly from Yocto and not from host. Anyway as I mentioned, I found a correct usable way. Use qemu-aarch64 for arm binary execution, pass some args and voila: systemd-logind 341 43.234008: 711 cycles:P: ffff80008007ff30 finish_task_switch.isra.0+0x90 ([kernel.kallsyms]) systemd-logind 341 43.234016: 711 cycles:P: ffff80008007ff30 finish_task_switch.isra.0+0x90 ([kernel.kallsyms]) systemd-logind 341 43.234020: 711 cycles:P: ffff80008007ff30 finish_task_switch.isra.0+0x90 ([kernel.kallsyms]) It can fully unwind the stack... . BR, Andy On 19.06.2025 10:59, Peter Marko via lists.openembedded.org wrote: > What you want to do is not really possible. > Perf recipe does not have its own sources, it only copies sources from kernel and then builds them. > And you cannot depend on target recipe (kernel) in native recipe (perf-native). > > Also I doubt that perf supports cross-build, meaning analyzing ARM processor counters on x86. > You may have to match your native host machine with target device maybe to point of exact processor type, not only architecture type. > > Peter > >> -----Original Message----- >> From:openembedded-core@lists.openembedded.org <openembedded- >> core@lists.openembedded.org> On Behalf Of Alexander Kanavin via >> lists.openembedded.org >> Sent: Thursday, June 19, 2025 10:13 >> To: Andrej Valek<andrej.v@skyrain.eu> >> Cc:openembedded-core@lists.openembedded.org >> Subject: Re: [OE-core] perf: nativesdk >> >> On Thu, 19 Jun 2025 at 10:07, Andrej Valek<andrej.v@skyrain.eu> wrote: >>> maybe I have to do some more tuning, but what I did: >>> BBCLASSEXTEND = "native nativesdk" >>> DEPENDS:remove:class-native = "virtual/${MLPREFIX}libc" >>> >>> then I run: "bitbake perf-native" and I have the same issue: >>> >>> ERROR: perf-native-1.0-r0 do_configure: The sstate manifest for task >>> 'linux-libc-headers:populate_sysroot' (multilib variant '') could not be >>> found. >>> The pkgarchs considered were: machineA, cortexa53, cortexa53, >>> armv8a-crc, armv8a, aarch64, allarch, x86_64_x86_64-nativesdk. >>> But none of these manifests exists: >>> >>> /home/build/tmp/sstate-control/manifest-machineA-linux-libc- >> headers.populate_sysroot >>> /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc- >> headers.populate_sysroot >>> /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc- >> headers.populate_sysroot >>> /home/build/tmp/sstate-control/manifest-armv8a-crc-linux-libc- >> headers.populate_sysroot >>> /home/build/tmp/sstate-control/manifest-armv8a-linux-libc- >> headers.populate_sysroot >>> /home/build/tmp/sstate-control/manifest-aarch64-linux-libc- >> headers.populate_sysroot >>> /home/build/tmp/sstate-control/manifest-allarch-linux-libc- >> headers.populate_sysroot >>> /home/build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-linux-libc- >> headers.populate_sysroot >>> So nope, it's not working. >> It seems as though perf recipe depends on the kernel sources too, so >> as it stands, you can't build it natively. I'd directly eliminate the >> target deps (e.g. actually remove them from the recipe, as an >> experiment) and see how far you get with bitbake perf-native. >> >> Alex >> >> -=-=-=-=-=-=-=-=-=-=-=- >> Links: You receive all messages sent to this group. >> View/Reply Online (#219062):https://lists.openembedded.org/g/openembedded-core/message/219062 >> Mute This Topic:https://lists.openembedded.org/mt/113722107/3619876 >> Group Owner:openembedded-core+owner@lists.openembedded.org >> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [andrej.v@skyrain.eu] >> -=-=-=-=-=-=-=-=-=-=-=- >> [-- Attachment #2: Type: text/html, Size: 9089 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [OE-core] perf: nativesdk 2025-06-19 7:53 perf: nativesdk Andrej Valek 2025-06-19 7:56 ` [OE-core] " Alexander Kanavin @ 2025-06-19 11:21 ` Richard Purdie 2025-06-19 11:44 ` Andrej Valek 1 sibling, 1 reply; 10+ messages in thread From: Richard Purdie @ 2025-06-19 11:21 UTC (permalink / raw) To: andrej.v, openembedded-core@lists.openembedded.org On Thu, 2025-06-19 at 09:53 +0200, Andrej Valek via lists.openembedded.org wrote: > I know, that what I'm doing is not fully supported way, but... . I > wanted to build the perf for target device (aarch64), record the data > and analyze them on the host. So I extended the recipe by adding > BBCLASSEXTEND = "native nativesdk". > > After that I have compilation failure do to missing manifest. > > ERROR: nativesdk-perf-1.0-r0 do_configure: The sstate manifest for task > 'linux-libc-headers:populate_sysroot' (multilib variant '') could not be > found. > The pkgarchs considered were: machineA, cortexa53, cortexa53, cortexa53, > armv8a-crc, armv8a, aarch64, allarch, x86_64_x86_64-nativesdk. > But none of these manifests exists: > /home/build/tmp/sstate-control/manifest-machineA-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-armv8a-crc-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-armv8a-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-aarch64-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-allarch-linux-libc-headers.populate_sysroot > /home/build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-linux-libc-headers.populate_sysroot > > The "linux-libc-headers" dependency is coming from "gcc-cross-aarch64". > > EXTRADEPENDS = "" > DEPENDS = "virtual/${TARGET_PREFIX}binutils ${EXTRADEPENDS} ${NATIVEDEPS}" > PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" > python () { > if d.getVar("TARGET_OS").startswith("linux"): > d.setVar("EXTRADEPENDS", "linux-libc-headers") > } > > This function adds the dependency without respecting any > native/nativesdk variant. > > I know touching the "PACKAGE_EXTRA_ARCHS" or removing this function > above it's not right way to fix it. > > How to deal with something like that? Ignoring this is all a bad idea, something which is nativesdk should be using gcc-crosssdk, not gcc-cross. gcc-cross quite correctly depends on linux-libc-headers, gcc-crosssdk will depend on nativesdk-linux-libc- headers. Cheers, Richard ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [OE-core] perf: nativesdk 2025-06-19 11:21 ` Richard Purdie @ 2025-06-19 11:44 ` Andrej Valek 2025-06-19 12:45 ` Richard Purdie 0 siblings, 1 reply; 10+ messages in thread From: Andrej Valek @ 2025-06-19 11:44 UTC (permalink / raw) To: richard.purdie; +Cc: openembedded-core@lists.openembedded.org Hi Richard, Yes I know, that is bad, but I solved it already with other way. On the other hand, maybe the lines in kernel-yocto.bbclass should be target specific. do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot" do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot" I think, that dependency to gcc-cross was done like: linux[do_kernel_configme] -> gcc-cross-aarch64 -> linux-libc-headers. BR, Andy On 19.06.2025 13:21, Richard Purdie via lists.openembedded.org wrote: > On Thu, 2025-06-19 at 09:53 +0200, Andrej Valek via lists.openembedded.org wrote: >> I know, that what I'm doing is not fully supported way, but... . I >> wanted to build the perf for target device (aarch64), record the data >> and analyze them on the host. So I extended the recipe by adding >> BBCLASSEXTEND = "native nativesdk". >> >> After that I have compilation failure do to missing manifest. >> >> ERROR: nativesdk-perf-1.0-r0 do_configure: The sstate manifest for task >> 'linux-libc-headers:populate_sysroot' (multilib variant '') could not be >> found. >> The pkgarchs considered were: machineA, cortexa53, cortexa53, cortexa53, >> armv8a-crc, armv8a, aarch64, allarch, x86_64_x86_64-nativesdk. >> But none of these manifests exists: >> /home/build/tmp/sstate-control/manifest-machineA-linux-libc-headers.populate_sysroot >> /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot >> /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot >> /home/build/tmp/sstate-control/manifest-cortexa53-linux-libc-headers.populate_sysroot >> /home/build/tmp/sstate-control/manifest-armv8a-crc-linux-libc-headers.populate_sysroot >> /home/build/tmp/sstate-control/manifest-armv8a-linux-libc-headers.populate_sysroot >> /home/build/tmp/sstate-control/manifest-aarch64-linux-libc-headers.populate_sysroot >> /home/build/tmp/sstate-control/manifest-allarch-linux-libc-headers.populate_sysroot >> /home/build/tmp/sstate-control/manifest-x86_64_x86_64-nativesdk-linux-libc-headers.populate_sysroot >> >> The "linux-libc-headers" dependency is coming from "gcc-cross-aarch64". >> >> EXTRADEPENDS = "" >> DEPENDS = "virtual/${TARGET_PREFIX}binutils ${EXTRADEPENDS} ${NATIVEDEPS}" >> PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++" >> python () { >> if d.getVar("TARGET_OS").startswith("linux"): >> d.setVar("EXTRADEPENDS", "linux-libc-headers") >> } >> >> This function adds the dependency without respecting any >> native/nativesdk variant. >> >> I know touching the "PACKAGE_EXTRA_ARCHS" or removing this function >> above it's not right way to fix it. >> >> How to deal with something like that? > Ignoring this is all a bad idea, something which is nativesdk should be > using gcc-crosssdk, not gcc-cross. gcc-cross quite correctly depends on > linux-libc-headers, gcc-crosssdk will depend on nativesdk-linux-libc- > headers. > > Cheers, > > Richard > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#219068): https://lists.openembedded.org/g/openembedded-core/message/219068 > Mute This Topic: https://lists.openembedded.org/mt/113722107/3619876 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [andrej.v@skyrain.eu] > -=-=-=-=-=-=-=-=-=-=-=- > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [OE-core] perf: nativesdk 2025-06-19 11:44 ` Andrej Valek @ 2025-06-19 12:45 ` Richard Purdie 2025-06-19 12:55 ` Andrej Valek 0 siblings, 1 reply; 10+ messages in thread From: Richard Purdie @ 2025-06-19 12:45 UTC (permalink / raw) To: Andrej Valek; +Cc: openembedded-core@lists.openembedded.org On Thu, 2025-06-19 at 13:44 +0200, Andrej Valek wrote: > Yes I know, that is bad, but I solved it already with other way. > > On the other hand, maybe the lines in kernel-yocto.bbclass should be > target specific. > > do_kernel_configme[depends] += > "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot" > do_kernel_configme[depends] += > "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot" > > I think, that dependency to gcc-cross was done like: > > linux[do_kernel_configme] -> gcc-cross-aarch64 -> linux-libc-headers. It won't be those. kernel.bbclass does: DEPENDS += "virtual/cross-binutils virtual/cross-cc kmod-native bc-native bison-native" [...] # we include gcc above, we dont need virtual/libc INHIBIT_DEFAULT_DEPS = "1" and virtual/cross-cc will expand to gcc-cross-aarch64. There is an assumption that nobody uses nativesdk with kernel.bbclass in multiple places. Cheers, Richard ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [OE-core] perf: nativesdk 2025-06-19 12:45 ` Richard Purdie @ 2025-06-19 12:55 ` Andrej Valek 0 siblings, 0 replies; 10+ messages in thread From: Andrej Valek @ 2025-06-19 12:55 UTC (permalink / raw) To: richard.purdie; +Cc: openembedded-core@lists.openembedded.org Ok, then forget about the previous variant, since I have a solution here: https://lists.openembedded.org/g/openembedded-core/message/219066 . I will just ship qemu-native in SDK. But anyway thanks for your response. Andrej On 19.06.2025 14:45, Richard Purdie via lists.openembedded.org wrote: > On Thu, 2025-06-19 at 13:44 +0200, Andrej Valek wrote: >> Yes I know, that is bad, but I solved it already with other way. >> >> On the other hand, maybe the lines in kernel-yocto.bbclass should be >> target specific. >> >> do_kernel_configme[depends] += >> "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot" >> do_kernel_configme[depends] += >> "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot" >> >> I think, that dependency to gcc-cross was done like: >> >> linux[do_kernel_configme] -> gcc-cross-aarch64 -> linux-libc-headers. > It won't be those. kernel.bbclass does: > > DEPENDS += "virtual/cross-binutils virtual/cross-cc kmod-native bc-native bison-native" > [...] > # we include gcc above, we dont need virtual/libc > INHIBIT_DEFAULT_DEPS = "1" > > and virtual/cross-cc will expand to gcc-cross-aarch64. > > There is an assumption that nobody uses nativesdk with kernel.bbclass > in multiple places. > > Cheers, > > Richard > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#219073): https://lists.openembedded.org/g/openembedded-core/message/219073 > Mute This Topic: https://lists.openembedded.org/mt/113722107/3619876 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [andrej.v@skyrain.eu] > -=-=-=-=-=-=-=-=-=-=-=- > ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-06-19 12:55 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-06-19 7:53 perf: nativesdk Andrej Valek 2025-06-19 7:56 ` [OE-core] " Alexander Kanavin 2025-06-19 8:07 ` Andrej Valek 2025-06-19 8:13 ` Alexander Kanavin 2025-06-19 8:59 ` Marko, Peter 2025-06-19 10:57 ` Andrej Valek 2025-06-19 11:21 ` Richard Purdie 2025-06-19 11:44 ` Andrej Valek 2025-06-19 12:45 ` Richard Purdie 2025-06-19 12:55 ` Andrej Valek
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.