> From: Martin Jansa [mailto:martin.ja...@gmail.com] > > No, adding extra layer is pretty basic operation and should > be properly > documented. Can you send some pointers what have you read > about adding a > layer and what wasn't easy to understand?
How to theoretically add a layer was easy enough to understand, but when it failed to work, I came to a dead end. I'm trying to make a basic non-GUI image based on the Atom cedartrail-nopvr machine, plus Samba, so I began with the following items in BBLAYERS: meta meta-yocto meta-yocto-bsp meta-intel meta-intel/meta-cedartrail and I built core-image-base. That worked fine, but of course it had no Samba in it, nor is Samba anywhere to be found within the Yocto stuff. So I downloaded meta-openembedded from their GIT server, which I know from my Gumstix experience contains Samba in its meta-oe layer, added meta-openembedded/meta-oe to the end of BBLAYERS, and tried bitbaking both core-image-base and samba. I quickly got the following error: ERROR: ParseError at /home/pauld/yocto-atom/poky-danny-8.0/meta-openembedded/meta-oe/recipes-grap hics/ttf-fonts/ttf.inc:12: Could not inherit file classes/fontcache.bbclass There is no fontcache.bbclass anywhere within meta-openembedded, or the Yocto stuff, but looking through their GIT repository I found it exists within openembedded-core, in the meta layer. So I downloaded that, and added openembedded-core/meta to BBLAYERS before meta-openembedded/meta-oe and tried again. It got past the above error, but this time I got the following shell script error: ERROR: ExpansionError during parsing /home/pauld/yocto-atom/poky-danny-8.0/meta-openembedded/meta-oe/recipes-supp ort/maliit/maliit-framework_git.bb: Failure expanding variable gtk_immodule_cache_postinst: ExpansionError: Failure expanding variable gtk_immodule_cache_postinst, expression was if [ "x$D" != "x" ]; then for maj_ver in 2 3; do if [ -x $D/usr/bin/gtk-query-immodules-$maj_ver.0 ]; then IMFILES=$(ls $D/usr/lib/gtk-$maj_ver.0/*/immodules/*.so) ${@qemu_run_binary(d, '$D', '/usr/bin/gtk-query-immodules-$maj_ver.0')} \ $IMFILES > $D/etc/gtk-$maj_ver.0/gtk.immodules 2>/dev/null && sed -i -e "s:$D::" $D/etc/gtk-$maj_ver.0/gtk.immodules [ $? -ne 0 ] && exit 1 fi done exit 0 fi if [ ! -z `which gtk-query-immodules-2.0` ]; then gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules fi if [ ! -z `which gtk-query-immodules-3.0` ]; then gtk-query-immodules-3.0 > /etc/gtk-3.0/gtk.immodules fi which triggered exception NameError: name 'qemu_run_binary' is not defined I'm sure this e-mail mangled the above due to line wrapping, but I doubt anyone really needs to know what's going on in that shell script, and the final line is the only meaningful one. I suspect that the meta-oe layer is dependent on yet another layer that defines this 'qemu_run_binary' function, and that even though I've got all of openmbedded-core and meta-openembedded under my poky-danny-8.0 directory, bitbake only parses those parts that are mentioned in BBLAYERS, relying upon the user to deal with inter-layer dependencies. Perhaps I could grep a bazillion files looking for qemu_run_binary, but I'm worried that I'm wasting my time down a blind alley. Is pulling in somebody else's layer (in this case an OpenEmbedded layer into a Yocto system) something that's supposed to work, or does it only work if it's been tried and debugged by the experts who create these things in the first place? (And why doesn't Yocto include Samba anyway? It seems more of a common standard package than a lot of the stuff I see included.) -- Ciao, Paul D. DeRocco Paul mailto:pdero...@ix.netcom.com _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto