[Openembedded-architecture] bblayers.conf - Past, Present and Future?

Trevor Woerner twoerner at gmail.com
Fri May 13 00:46:25 UTC 2016


On Fri 2016-05-13 @ 07:55:05 AM, Paul Eggleton wrote:
> Hi Trevor,
> 
> On Thu, 12 May 2016 09:08:14 Trevor Woerner wrote:
> > I often try to start an Angstrom build and then have to go into
> > bblayers.conf to disable a bunch of layers because they don't "play nice"
> > with each other. Of course bitbake only tells me about them one at a time,
> > so I end up having to 1) start a build 2) get an error from bitbake about a
> > bad layer 3) edit bblayers.conf 4) goto 1. I usually go through this cycle
> > about 5-6 times, then my build can proceed (once the 5-6 bad layers have
> > been weeded out).
> 
> Can you be a bit more specific about the kinds of failures you're resolving 
> here? Are they mismatched bbappends, overridden configuration, ... ?

When I setup a build using the angstrom manifest, it initially creates a
bblayers.conf file that looks like:

        # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
        # changes incompatibly
        LCONF_VERSION = "6" 
        TOPDIR := "${@os.path.dirname(os.path.dirname(d.getVar('FILE', True)))}"

        BBPATH = "${TOPDIR}"

        BBFILES = ""

        # These layers hold recipe metadata not found in OE-core, but lack any machine or distro content
        BASELAYERS ?= " \ 
          ${TOPDIR}/layers/meta-openembedded/meta-oe \
          ${TOPDIR}/layers/meta-openembedded/meta-efl \
          ${TOPDIR}/layers/meta-openembedded/meta-gpe \
          ${TOPDIR}/layers/meta-openembedded/meta-gnome \
          ${TOPDIR}/layers/meta-openembedded/meta-xfce \
          ${TOPDIR}/layers/meta-openembedded/meta-initramfs \
          ${TOPDIR}/layers/meta-openembedded/meta-multimedia \
          ${TOPDIR}/layers/meta-openembedded/meta-networking \
          ${TOPDIR}/layers/meta-openembedded/meta-webserver \
          ${TOPDIR}/layers/meta-openembedded/meta-ruby \
          ${TOPDIR}/layers/meta-openembedded/meta-filesystems \
          ${TOPDIR}/layers/meta-openembedded/meta-perl \
          ${TOPDIR}/layers/meta-openembedded/meta-python \
          ${TOPDIR}/layers/meta-kde4 \
          ${TOPDIR}/layers/meta-java \
          ${TOPDIR}/layers/meta-browser \
          ${TOPDIR}/layers/meta-mono \
          ${TOPDIR}/layers/meta-qt5 \
          ${TOPDIR}/layers/meta-openembedded/meta-systemd \
          ${TOPDIR}/layers/meta-ros \
          ${TOPDIR}/layers/meta-uav \
          ${TOPDIR}/layers/meta-telephony \
          ${TOPDIR}/layers/meta-beagleboard/meta-beagleboard-extras \
          ${TOPDIR}/layers/meta-photography \
          ${TOPDIR}/layers/meta-musl \
          ${TOPDIR}/layers/meta-maker \
        "   

        # These layers hold machine specific content, aka Board Support Packages
        BSPLAYERS ?= " \ 
          ${TOPDIR}/layers/meta-beagleboard/common-bsp \
          ${TOPDIR}/layers/meta-ti \
          ${TOPDIR}/layers/meta-fsl-arm \
          ${TOPDIR}/layers/meta-fsl-arm-extra \
          ${TOPDIR}/layers/meta-altera \
          ${TOPDIR}/layers/meta-jetson-tk1 \
          ${TOPDIR}/layers/meta-nslu2 \
          ${TOPDIR}/layers/meta-smartphone/meta-htc \
          ${TOPDIR}/layers/meta-smartphone/meta-nokia \
          ${TOPDIR}/layers/meta-smartphone/meta-openmoko \
          ${TOPDIR}/layers/meta-smartphone/meta-palm \
          ${TOPDIR}/layers/meta-handheld \
          ${TOPDIR}/layers/meta-intel \
          ${TOPDIR}/layers/meta-sunxi \
          ${TOPDIR}/layers/meta-raspberrypi \
          ${TOPDIR}/layers/meta-minnow \
          ${TOPDIR}/layers/meta-dominion \
          ${TOPDIR}/layers/meta-atmel \
          ${TOPDIR}/layers/meta-exynos \
          ${TOPDIR}/layers/meta-gumstix-community \
          ${TOPDIR}/layers/meta-qcom \
          ${TOPDIR}/layers/meta-ettus/common \
          ${TOPDIR}/layers/meta-openpandora \
          ${TOPDIR}/layers/meta-edison \
          ${TOPDIR}/layers/meta-96boards \
        "   

        # Add your overlay location to EXTRALAYERS
        # Make sure to have a conf/layers.conf in there
        EXTRALAYERS ?= " \ 
          ${TOPDIR}/layers/meta-linaro/meta-linaro \
          ${TOPDIR}/layers/meta-linaro/meta-linaro-toolchain \
          ${TOPDIR}/layers/meta-linaro/meta-aarch64 \
        "   

        BBLAYERS = " \ 
          ${TOPDIR}/layers/meta-angstrom \
          ${BASELAYERS} \
          ${BSPLAYERS} \
          ${EXTRALAYERS} \
          ${TOPDIR}/layers/openembedded-core/meta \
        "

If I then attempt to
	$ bitbake console-image
I get:

-----------------------------------------------------------------
issue 1:
        ERROR: ParseError at /z/angstrom/test1/layers/meta-kde4/classes/kde_cmake.bbclass:5: Could not inherit file classes/qt4x11.bbclass
solution:
        remove meta-qt4 from bblayers.conf


-----------------------------------------------------------------
issue 2:
        ERROR: ParseError at /z/angstrom/test1/layers/meta-uav/recipes-mavlink/qgroundcontrol/qgroundcontrol_2.0.3.bb:7: Could not inherit file classes/qt4x11.bbclass
solution:
        remove meta-uav from bblayers.conf

-----------------------------------------------------------------
issue 3:
        ERROR: ParseError at /z/angstrom/test1/layers/meta-edison/recipes-images/core/core-image-base-edison.bb:30: Could not inherit file classes/bootimg.bbclass
solution:
        remove meta-edison from bblayers.conf

-----------------------------------------------------------------
build succeeds, but:
        WARNING: No recipes available for:
          /z/angstrom/test1/layers/meta-jetson-tk1/recipes-graphics/mesa/mesa_10%.bbappend
          /z/angstrom/test1/layers/meta-jetson-tk1/recipes-graphics/wayland/weston_1.8%.bbappend
          /z/angstrom/test1/layers/meta-openpandora/recipes-core/netbase/netbase_5.0.bbappend
          /z/angstrom/test1/layers/meta-musl/recipes-core/systemd/systemd_225.bbappend
          /z/angstrom/test1/layers/meta-maker/recipes-python/pyyaml/python-pyyaml_3.10.bbappend



More information about the Openembedded-architecture mailing list