Topics

Generating SDK and postinstall intercepts failure #yocto #sdk #toolchain


ppayeur01@...
 

Hi, 
 
I am having trouble generating the SDK for my image after upgrading from sumo to zeus. Here is an extract of my log.do_populate_sdk :

NOTE: Running intercept scripts:
NOTE: > Executing update_gio_module_cache-nativesdk intercept ...
NOTE: + '[' True = False -a nativesdk-qemuwrapper-cross '!=' nativesdk-qemuwrapper-cross ']'
+ qemu-x86_64 -r 3.2.0 -E LD_LIBRARY_PATH=/home/ops/next/poky/build/tmp/work/k700-poky-linux/dev-image-ops/1.0-r0/sdk/image/opt/ops-dist/1.1.0a/sysroots/x86_64-pokysdk-linux/usr/lib:/home/ops/next/poky/build/tmp/work/k700-poky-linux/dev-image-ops/1.0-r0/sdk/image/opt/ops-dist/1.1.0a/sysroots/x86_64-pokysdk-linux/lib -L /home/ops/next/poky/build/tmp/work/k700-poky-linux/dev-image-ops/1.0-r0/sdk/image /home/ops/next/poky/build/tmp/work/k700-poky-linux/dev-image-ops/1.0-r0/sdk/image/opt/ops-dist/1.1.0a/sysroots/x86_64-pokysdk-linux/usr/libexec/nativesdk-gio-querymodules /home/ops/next/poky/build/tmp/work/k700-poky-linux/dev-image-ops/1.0-r0/sdk/image/opt/ops-dist/1.1.0a/sysroots/x86_64-pokysdk-linux/usr/lib/gio/modules/
NOTE: > Executing update_pixbuf_cache intercept ...
NOTE: Exit code 1. Output:
/home/ops/next/poky/build/tmp/work/k700-poky-linux/dev-image-ops/1.0-r0/intercept_scripts-b57cc07ebc7fd06264e08c306ab25a797a944ba96238037685bb1148afe1842d/update_pixbuf_cache: line 11: /home/ops/next/poky/build/tmp/work/k700-poky-linux/dev-image-ops/1.0-r0/sdk/image/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/../loaders.cache: No such file or directory
 
ERROR: The postinstall intercept hook 'update_pixbuf_cache' failed, details in /home/ops/next/poky/build/tmp/work/k700-poky-linux/dev-image-ops/1.0-r0/temp/log.do_populate_sdk
DEBUG: Python function do_populate_sdk finished
 
Seems like update_pixbuf_cache cannot find the required loaders files. I am not sure why it looks in /sdk/image directly instead of the target or host rootfs in /sdk/image/opt/.../sysroots. In fact I am not sure why this postinstall intercept needs to run at all when generating the SDK.

As a bit of added info, when building my image prior to the SDK I had to manually add gdk-pixbuf to the rootfs via IMAGE_INSTALL for this intercept to work since the loaders files were missing. Also I noticed that some postinst intercepts were already failing before upgrading to zeus (including the update_pixbuf_cache one) but were only generating warnings.
 
Is it possible to disable this intercept as a quick (dirty) way to be able to build the SDK? In the long term I'd like to find out what causes this intercept to run and why the required tools are not added automatically to my image.

Any troubleshooting advice is appreciated.
 
Thank you,
 
Patrick