On Tue, 2023-04-18 at 20:02 +0000, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <[email protected]>
> 
> For TI platforms with SGX and Rogue graphics we patch upstream Mesa with
> PVR support and conditionally enable features based on virtual/gpudriver
> preference. This makes Mesa package platform-specific and it contains the
> corresponding PACKAGE_ARCH = "${MACHINE_ARCH}" line.
> 
> In order to get greater re-use from generic non-machine-speciofic packages
> down the dependency chain, such as Wayland, Weston, Qt5 modules, etc. we
> need to mark mesa recipe as still providing stable OpenGL ABIs, such as
> EGL, GLES, GBM, etc. - add it to SIGGEN_EXCLUDERECIPES_ABISAFE list.
> 
> Signed-off-by: Denys Dmytriyenko <[email protected]>
> ---
>  meta-ti-bsp/conf/layer.conf | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meta-ti-bsp/conf/layer.conf b/meta-ti-bsp/conf/layer.conf
> index 948db4f9..e9b7f92c 100644
> --- a/meta-ti-bsp/conf/layer.conf
> +++ b/meta-ti-bsp/conf/layer.conf
> @@ -19,6 +19,7 @@ LAYERDEPENDS_meta-ti-bsp = " \
>  "
>  
>  SIGGEN_EXCLUDERECIPES_ABISAFE += " \
> +    mesa \

We found that excluding mesa (or now mesa-pvr) from signature
generation can lead to build breakage when updating meta-ti. As
previous meta-ti versions excluded "ti-sgx-ddk-um" and new version
excludes "mesa-pvr", this can result in builds of dependent packages
that differ in these specific runtime dependencies, but that have the
same sstate hash!

The build failures look like the following (we're seeing it for
multiple packages):

Problem 2: package packagegroup-testutils-1.0-r0.tqma335x_mba335x
requires glmark2, but none of the providers can be installed
   - conflicting requests
   - nothing provides ti-sgx-ddk-um >= 1.17.4948957 needed by glmark2-
2021.12-r0.armv7at2hf_neon

Here, Bitbake omitted to rebuild glmark2 because of the sstate
equivalence, picking up an older build that depends on ti-sgx-ddk-um,
even though ti-sgx-ddk-um is not selected anymore in the current
configuration. Rebuilding glmark2 with a clean sstate cache results in
a package that has a "libgbm1 >= 22.3.5" dependency instead of "ti-sgx-
ddk-um >= 1.17.4948957" (as shown by 'rpm -qpR'; the rest of the
dependencies are unchanged).

I think we can work around the issue this time by forcing a change of
sstate hash by other means in our TQ-Systems layer when updating for
the current meta-ti, but this whole game with
SIGGEN_EXCLUDERECIPES_ABISAFE seems very fragile to me...

Regards,
Matthias



>  "
>  
>  HOSTTOOLS_NONFATAL += "truncate xxd comm"
> 
> 

-- 
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
https://www.tq-group.com/
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16838): 
https://lists.yoctoproject.org/g/meta-ti/message/16838
Mute This Topic: https://lists.yoctoproject.org/mt/98352641/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to