| Summary: | Nothing PROVIDES 'libseccomp-native' | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | kweihmann |
| Component: | core | Assignee: | Richard Purdie <richard.purdie> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | meta.mr.watcher, meta.watcher, randy.macleod, richard.purdie, yoann.congal |
| Version: | unspecified | ||
| Target Milestone: | 6.1 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
kweihmann
2026-05-01 08:26:08 UTC
It's not surprising that you may have to make changes in your distro due to this commit. The question is do you have a good reason to enable libseccomp-native and if so why? seccomp is a distro feature and you maybe be filtering it as a native distro feature. See previous comment. I do not set an native distro features. The custom distro is basically include poky.conf DISTRO = "something" DISTRO_FEATURES_DEFAULTS:remove = "opengl ptest wayland vulkan pulseaudio" DISTRO_FEATURES = "systemd ext2" which made it surprising to me that this error popped up. What needs to be set to resolve this? And no I do not need libseccomp-native for any reason documentation.conf mentions:
DISTRO_FEATURES_DEFAULTS[doc] = "The default set of distribution features, prior to any filtering. Usually you should leave this alone and modify DISTRO_FEATURES and/or DISTRO_FEATURES_OPTED_OUT."
so the :remove isn't really the preferred way to use it. Having said that, I'm not sure it is the cause of the issue. I just tried your config and it worked for me:
$ bitbake-getvar -r gnutls-native PACKAGECONFIG
[...]
# pre-expansion value:
# "libidn libtasn1 ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}"
PACKAGECONFIG="libidn libtasn1
and bitbake gnutls-native doesn't show the provides error.
There has to be something about your config which we're not seeing...
It's indeed something very weird and I have no idea why this is happening.
After some playing around here's the new testcase
distro.conf
include conf/distro/poky.conf
DISTRO_FEATURES_DEFAULTS:remove = "opengl ptest wayland vulkan pulseaudio sysvinit"
DISTRO_FEATURES:append = " systemd usrmerge ${A}"
results in
bitbake-getvar -r gnutls-native PACKAGECONFIG
#
# $PACKAGECONFIG [15 operations]
# :append[pn-qemu-system-native] /mnt/ssd/build-sca-master/conf/local.conf:17
# " sdl"
# set /path/layer/openembedded-core/meta/conf/documentation.conf:311
# [doc] "This variable provides a means of enabling or disabling features of a recipe on a per-recipe basis."
# set /path/layer/openembedded-core/meta/conf/bitbake.conf:943
# [vardepvalue] "${PACKAGECONFIG}"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:33
# [_defaultval] "libidn libtasn1 ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}"
# :append[class-native] /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:34
# " p11-kit"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:38
# [seccomp] "--with-libseccomp-prefix=${STAGING_DIR_HOST},ac_cv_libseccomp=no,libseccomp"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:39
# [libidn] "--with-idn,--without-idn,libidn2"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:40
# [libtasn1] "--without-included-libtasn1,--with-included-libtasn1,libtasn1"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:41
# [p11-kit] "--with-p11-kit,--without-p11-kit,p11-kit"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:42
# [tpm] "--with-tpm,--without-tpm,trousers"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:43
# [fips] "--enable-fips140-mode --with-libdl-prefix=${STAGING_DIR_HOST}"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:44
# [dane] "--enable-libdane,--disable-libdane,unbound"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:46
# [brotli] "--with-brotli,--without-brotli,brotli"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:47
# [zlib] "--with-zlib,--without-zlib,zlib"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:48
# [zstd] "--with-zstd,--without-zstd,zstd"
# pre-expansion value:
# "libidn libtasn1 ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} p11-kit"
PACKAGECONFIG="libidn libtasn1 seccomp p11-kit"
while
include conf/distro/poky.conf
# Remove all audio and graphics related distro backfills
# we do not need them for our purposes
DISTRO_FEATURES_DEFAULTS:remove = "opengl ptest wayland vulkan pulseaudio sysvinit"
DISTRO_FEATURES:append = " systemd usrmerge"
bitbake-getvar -r gnutls-native PACKAGECONFI
#
# $PACKAGECONFIG [15 operations]
# :append[pn-qemu-system-native] /mnt/ssd/build-sca-master/conf/local.conf:17
# " sdl"
# set /path/layer/openembedded-core/meta/conf/documentation.conf:311
# [doc] "This variable provides a means of enabling or disabling features of a recipe on a per-recipe basis."
# set /path/layer/openembedded-core/meta/conf/bitbake.conf:943
# [vardepvalue] "${PACKAGECONFIG}"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:33
# [_defaultval] "libidn libtasn1 ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}"
# :append[class-native] /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:34
# " p11-kit"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:38
# [seccomp] "--with-libseccomp-prefix=${STAGING_DIR_HOST},ac_cv_libseccomp=no,libseccomp"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:39
# [libidn] "--with-idn,--without-idn,libidn2"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:40
# [libtasn1] "--without-included-libtasn1,--with-included-libtasn1,libtasn1"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:41
# [p11-kit] "--with-p11-kit,--without-p11-kit,p11-kit"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:42
# [tpm] "--with-tpm,--without-tpm,trousers"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:43
# [fips] "--enable-fips140-mode --with-libdl-prefix=${STAGING_DIR_HOST}"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:44
# [dane] "--enable-libdane,--disable-libdane,unbound"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:46
# [brotli] "--with-brotli,--without-brotli,brotli"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:47
# [zlib] "--with-zlib,--without-zlib,zlib"
# set /path/layer/openembedded-core/meta/recipes-support/gnutls/gnutls_3.8.12.bb:48
# [zstd] "--with-zstd,--without-zstd,zstd"
# pre-expansion value:
# "libidn libtasn1 ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} p11-kit"
PACKAGECONFIG="libidn libtasn1 p11-kit"
has no seccomp set.
Only difference is the undefined variable A (something similar I have in my custom distro)
Changing DISTRO_FEATURES_DEFAULTS:remove to DISTRO_FEATURES:remove yields the same results.
@Richard I'm aware of the bad design choice of :remove, but it's an easy way for testing purposes to stay close to poky without the burden of some features, like graphics and ptests, if there's a better design that doesn't need to be constantly patched, I'm open to hear about it
I worked out what was going on, there is a patch on list, "utils: Handle unexpanded variables in DISTRO_FEATURES" which detects the issue and shows warnings as well as working around the issue. Rather than use :remove with DISTRO_FEATURES you should be able to use DISTRO_FEATURES_OPTED_OUT Thanks Richard Patch merged: https://git.openembedded.org/openembedded-core/commit/?id=7782a9bfc4e2ddc67185ac3f5ed14c5268f078b0 Fixed in the above commit |