tbb: Restrict libhwloc runtime dependency to target builds

hwloc is only a build dependency for class-target, but libhwloc was an
unconditional RDEPENDS. native.bbclass rewrites runtime dependencies via
native_filter(), which suffixes any unsuffixed dependency, so libhwloc
became libhwloc-native for tbb-native and nativesdk-libhwloc for
nativesdk-tbb. The hwloc recipe sets no BBCLASSEXTEND, so neither variant
exists and nothing can provide them:

  WARNING: Nothing RPROVIDES 'libhwloc-native' (but virtual:native:...tbb_2022.3.0.bb RDEPENDS on or otherwise requires it)
  WARNING: Nothing RPROVIDES 'nativesdk-libhwloc' (but virtual:nativesdk:...tbb_2022.3.0.bb RDEPENDS on or otherwise requires it)

This cascaded to tbb-dev-native/tbb-native via the generic
RDEPENDS:${PN}-staticdev in bitbake.conf, and from there to opencv-native
through opencv's PACKAGECONFIG[tbb].

Gate the runtime dependency on class-target to match the existing DEPENDS
gating. Target builds keep libhwloc unchanged.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Khem Raj
2026-07-27 22:25:11 +00:00
parent 583ba5347a
commit 19d0dccbc0
+3 -1
View File
@@ -30,7 +30,9 @@ EXTRA_OECMAKE += " \
-DTBB_DISABLE_HWLOC_AUTOMATIC_SEARCH=OFF \
"
RDEPENDS:${PN} += "libhwloc"
# hwloc is only a build dependency for target builds, so libhwloc can only be
# a runtime dependency there too (hwloc has no native/nativesdk variants).
RDEPENDS:${PN}:append:class-target = " libhwloc"
RDEPENDS:${PN}-ptest += "cmake libhwloc"
# Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi)