It's possible - albeit unlikely - that gdk-pixbuf isn't present in the sysroot when a recipe inheriting this class is and the sysroot is finalised.
One example would be if the sstate archive has librsvg but not gdk-pixbuf: librsvg will be extracted from the sstate but gdk-pixbuf will be built to "fill in the gap". In this situation the setscene completion hook installed by pixbufcache.bbclass will attempt to execute gdk-pixbuf-query-loaders, but that binary hasn't been installed by gdk-pixbuf yet. Also add gdk-pixbuf-native to DEPENDS in native builds to ensure that the binaries we expect will be present, as it's possible to build loaders without linking to GdkPixbuf. [ YOCTO #10420 ] Signed-off-by: Ross Burton <ross.bur...@intel.com> --- meta/classes/pixbufcache.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/pixbufcache.bbclass b/meta/classes/pixbufcache.bbclass index dbe11e1..b619a77 100644 --- a/meta/classes/pixbufcache.bbclass +++ b/meta/classes/pixbufcache.bbclass @@ -54,6 +54,7 @@ gdkpixbuf_complete() { # An error exit during populate_sysroot_setscene allows bitbake to # try to recover by re-building the package. # +DEPENDS_append_class-native = " gdk-pixbuf-native" SSTATEPOSTINSTFUNCS_append_class-native = " pixbufcache_sstate_postinst" # See base.bbclass for the other half of this @@ -61,7 +62,6 @@ pixbufcache_sstate_postinst() { if [ "${BB_CURRENTTASK}" = "populate_sysroot" ]; then ${gdkpixbuf_complete} elif [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]; then - echo "${gdkpixbuf_complete}" >> ${STAGING_DIR}/sstatecompletions + test -x ${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders && echo "${gdkpixbuf_complete}" >> ${STAGING_DIR}/sstatecompletions fi } - -- 2.8.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core