diff mbox series

[meta-oe,2/4] tbb: Restrict libhwloc runtime dependency to target builds

Message ID 20260728072111.3266991-2-khem.raj@oss.qualcomm.com
State New
Headers show
Series [meta-oe,1/4] uml-utilities: remove recipe | expand

Commit Message

Khem Raj July 28, 2026, 7:21 a.m. UTC
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>
---
 meta-oe/recipes-support/tbb/tbb_2022.3.0.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb b/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb
index e09aa5d96a..0dca19535b 100644
--- a/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb
+++ b/meta-oe/recipes-support/tbb/tbb_2022.3.0.bb
@@ -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)