On Fri, 2018-08-17 at 01:54 -0700, Zhixiong Chi wrote:
> When we add the nativesdk-glibc-locale dependence for libc-glibc, if
> the SDK_OS
> is mingw32, it will broken the building with the following error:
> > NOTE: Resolving any missing task queue dependencies
> > ERROR: Nothing RPROVIDES 'nativesdk-glibc' (but
> > virtual:nativesdk:layers/oe-core/meta/recipes-core/glibc/glibc-
> > locale_2.24.bb
> > RDEPENDS on or otherwise requires it)
> > ERROR: nativesdk-glibc was skipped:
> > PREFERRED_PROVIDER_virtual/nativesdk-libc set to nativesdk-mingw-
> > w64-runtime, not nativesdk-glibc
> > NOTE: Runtime target 'nativesdk-glibc' is unbuildable, removing...
> > Missing or unbuildable dependency chain was: ['nativesdk-glibc']
> > ERROR: Required build target 'meta-toolchain' has no buildable
> > providers.
> > Missing or unbuildable dependency chain was: ['meta-toolchain',
> > 'nativesdk-glibc-locale', 'nativesdk-glibc']
> 
> mingw32 SDK_OS doesn't need to depend on nativesdk-glibc-locale.
> 
> Signed-off-by: Zhixiong Chi <[email protected]>
> ---
>  meta/classes/populate_sdk_base.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/populate_sdk_base.bbclass 
> b/meta/classes/populate_sdk_base.bbclass
> index c456c52866..65c27b0077 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -48,7 +48,7 @@ TOOLCHAIN_OUTPUTNAME ?= 
> "${SDK_NAME}-toolchain-${SDK_VERSION}"
>  SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
>  SDK_DEPENDS = "virtual/fakeroot-native xz-native cross-localedef-native 
> nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in 
> d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross"
>  PATH_prepend = 
> "${STAGING_DIR_HOST}${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d,
>  'STAGING_BINDIR_CROSS').split())}:"
> -SDK_DEPENDS_append_libc-glibc = " nativesdk-glibc-locale"
> +SDK_DEPENDS_append_libc-glibc = " ${@bb.utils.contains('SDK_OS', 'mingw32', 
> '', 'nativesdk-glibc-locale', d)}"
>  
>  # We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not 
> PACKAGE_ARCH as it
>  # could be set to the MACHINE_ARCH

I appreciate this fixes a specific problem but this code is wrong
anyway, libc-glibc is a target override and we're talking about the sdk
 here. To illustrate, if a target image was musl based but the sdk
glibc based, this code wouldn't work.

Could we therefore correct this to correctly determine which libc is
being used in the SDK? If we're going to fix it, lets fix it
properly...

Cheers,

Richard




-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to