Bug 15291

Summary: Non identical glib 2.0 schemas with multlib
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Khem Raj <raj.khem>
Component: coreAssignee: Ross Burton <ross.burton>
Status: NEW --- QA Contact:
Severity: normal    
Priority: Medium CC: meta.mr.watcher, meta.watcher, randy.macleod, ross.burton
Version: 5.0   
Target Milestone: 6.2   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Khem Raj 2023-11-22 01:37:53 UTC
When using distros with multilib enabled, the schemas for both 32-bit and 64-bit get computed separately but installed into same location at the end of rootfs and in some cases these compiled gschemas are not identical.

To reproduce

require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
IMAGE_INSTALL:append = ' lib32-connman-gnome gtk4'

MACHINE=qemux86-64 bitbake core-image-sato

It results in

ERROR: core-image-sato-1.0-r0 do_rootfs: Multilib check error: duplicate files /home/pokybuild/yocto-worker/multilib/build/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0/multilib/lib32/usr/share/glib-2.0/schemas/gschemas.compiled /home/pokybuild/yocto-worker/multilib/build/build/tmp/work/qemux86_64-poky-linux/core-image-sato/1.0/rootfs/usr/share/glib-2.0/schemas/gschemas.compiled is not the same


The reason why these are different is because normal rootfs now includes schema xml files from gtk4 and gtk+3 but 32bit rootfs contains only gtk+3 schemas.
If I add "lib32-gtk4" into IMAGE_INSTALL then it becomes identical as expected.