[bitbake-devel] Help with Bitbake: (bitbake-layers show-recipes)

Luis Martins luis_martins_5 at hotmail.com
Mon Apr 30 13:37:47 UTC 2018


Good afternoon,

The path that lead me to bitbake's recipe building is going to be presented next, if the setup isn't important the warnings and errors are highlited in green and you can skip it to there.

Similar to this thread<https://community.arm.com/dev-platforms/f/discussions/157/issue-of-building-the-openembedded-filesysytem-from-source-for-juno>, i'm having some hard time building the openembedded filesystem.
So far I have managed to follow this tutorial<https://community.arm.com/dev-platforms/w/docs/303/juno> until the "Booting the board" section. After running the board some errors appear during the execution:

[cid:9fdceaa4-54de-4b86-bd56-dde464d64fb9]
[cid:01ae2961-d88c-4b0c-b656-f063a8de68cf]

This lead me to follow the "Addendum B: Building the OpenEmbedded filesysytem from source"
(I thought this part was optional since in this section "Initialising a workspace" it says "The script will guide you through the process of initialising your workspace, automatically downloading all relevant source files and required binaries.")

I executed this commands with no problems:


/* Create workspace */

/* WARNING: Do *not* create this as a subdirectory of the main Linaro Arm Platforms workspace created by `workspace_yy.mm' above */

$ mkdir openembedded

$ cd openembedded

$ export OE_HOME=`pwd`

$ git clone git://git.linaro.org/openembedded/jenkins-setup.git

$ cd $OE_HOME/jenkins-setup

$ git checkout release-YY.MM

$ cd $OE_HOME

$ sudo jenkins-setup/pre-build-root-install-dependencies.sh

$ jenkins-setup/init-and-build.sh

$ cd $OE_HOME/openembedded-core

$ ./oe-init-build-env

/* Add bitbake to your $PATH */

$ export PATH=$OE_HOME/openembedded-core/bitbake/bin:$PATH

But, after running this commands:


$ cd $OE_HOME/build

$ bitbake-layers show-recipes

I get the following Warnings and Errors (from the log file located in the directory /Desktop/openembedded/build/tmp-glibc/log/cooker)):


WARNING: /home/lfpm1993/Desktop/openembedded/meta-linaro/meta-ilp32/recipes-overlayed/glibc/glibc_2.26.bb: Exception during build_dependencies for do_install

WARNING: /home/lfpm1993/Desktop/openembedded/meta-linaro/meta-ilp32/recipes-overlayed/glibc/glibc_2.26.bb: Error during finalise of /home/lfpm1993/Desktop/openembedded/meta-linaro/meta-ilp32/recipes-overlayed/glibc/glibc_2.26.bb

WARNING: /home/lfpm1993/Desktop/openembedded/meta-linaro/meta-ilp32/recipes-overlayed/glibc/glibc-initial_2.26.bb: Exception during build_dependencies for do_install

WARNING: /home/lfpm1993/Desktop/openembedded/meta-linaro/meta-ilp32/recipes-overlayed/glibc/glibc-initial_2.26.bb: Error during finalise of /home/lfpm1993/Desktop/openembedded/meta-linaro/meta-ilp32/recipes-overlayed/glibc/glibc-initial_2.26.bb

ERROR: ExpansionError during parsing /home/lfpm1993/Desktop/openembedded/meta-linaro/meta-ilp32/recipes-overlayed/glibc/glibc_2.26.bb

Traceback (most recent call last):

bb.data_smart.ExpansionError: Failure expanding variable do_install, expression was                oe_runmake install_root=/home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image install

                for r in bootparam_prot.x nlm_prot.x rstat.x       yppasswd.x klm_prot.x rex.x sm_inter.x mount.x           rusers.x spray.x nfs_prot.x rquota.x key_prot.x; do

                                h=`echo $r|sed -e's,\.x$,.h,'`

                                install -m 0644 /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/git/sunrpc/rpcsvc/$h /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image//usr/include/rpcsvc/

                done

                install -Dm 0644 /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/etc/ld.so.conf /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image//etc/ld.so.conf

                install -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/lib/locale

                make -f /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/generate-supported.mk IN="/home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/git/localedata/SUPPORTED" OUT="/home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/SUPPORTED"

                # get rid of some broken files...

                for i in ; do

                                sed -i "/$i/d" /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/SUPPORTED

                done

                rm -f /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/rpc

                rm -rf /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/share/zoneinfo

                rm -rf /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/libexec/getconf

                rm -f /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/localtime

                rm -rf /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/var


                # remove empty glibc dir

                if [ -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/libexec ]; then

                                rmdir --ignore-fail-on-non-empty /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/libexec

                fi


                oe_multilib_header bits/syscall.h bits/long-double.h


                if [ -f /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/bin/mtrace ]; then

                                sed -i -e '1s,#!.*perl,#! /usr/bin/env perl,' -e '2s,exec.*perl,exec /usr/bin/env perl,' /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/bin/mtrace

                fi

                rm -rf /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/include/rpcsvc/rquota*

                # Info dir listing isn't interesting at this point so remove it if it exists.

                if [ -e "/home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/share/info/dir" ]; then

                                rm -f /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/usr/share/info/dir

                fi


                if ! ${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', 'true', 'false', d)}; then

                                # The distro doesn't want these files so let's not install them

                                rm -f /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/ld.so.conf

                                rm -f /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/sbin/ldconfig

                                # This directory will be empty now so remove it too.

                                # But check whether it exists first, since it won't for glibc-initial.

                                if [ -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc ]; then

                                               rmdir /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc

                                fi

                fi


                if echo glibc|grep -q "glibc-initial"; then

                                return

                fi


                install -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/init.d

                install -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/var/db/nscd

                install -m 0755 /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/git/nscd/nscd.init /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/init.d/nscd

                install -m 0755 /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/git/nscd/nscd.conf /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/nscd.conf

                sed -i "s%daemon%start-stop-daemon --start --exec%g" /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/init.d/nscd


                install -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/lib/systemd/system

                install -m 0644 /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/git/nscd/nscd.service /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/lib/systemd/system/


                if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then

                                install -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/tmpfiles.d

                                echo "d /run/nscd 755 root root -" \

                                               > /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/tmpfiles.d/nscd.conf

                else

                                install -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/default/volatiles

                                echo "d root root 0755 /var/run/nscd none" \

                                               > /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/etc/default/volatiles/98_nscd

                fi

                if [ "/lib" != "/lib" ] ; then

                                # The aarch64 ABI says the dynamic linker -must- be /lib/ld-linux-aarch64[_be].so.1

                                install -d /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/lib

                                if [ -e /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/lib/ld-linux-aarch64.so.1 ]; then

                                                ln -s ${@base_path_relative('/lib', '/lib')}/ld-linux-aarch64.so.1 \

                                                               /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/lib/ld-linux-aarch64.so.1

                                elif [ -e /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/lib/ld-linux-aarch64_be.so.1 ]; then

                                               ln -s ${@base_path_relative('/lib', '/lib')}/ld-linux-aarch64_be.so.1 \

                                                               /home/lfpm1993/Desktop/openembedded/build/tmp-glibc/work/aarch64-oe-linux/glibc/2.26-r0/image/lib/ld-linux-aarch64_be.so.1

                                fi

                fi

                do_install_armmultilib

which triggered exception NameError: name 'base_path_relative' is not defined


The only thing I changed from the original files was that I added "DISTRO_FEATURES_append = " virtualization"" to the /Desktop/openembedded/meta-virtualization/layers.conf.
Executing uname -a gives:
Linux lfpm1993-virtual-machine 4.13.0-39-generic #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018 x86_64 x86_64 x86_64

So, my question is how do I solve those warnings and errors?

Thanks for helping me,
Luis Martins


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/bitbake-devel/attachments/20180430/d35ba509/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Errors1.PNG
Type: image/png
Size: 20030 bytes
Desc: Errors1.PNG
URL: <http://lists.openembedded.org/pipermail/bitbake-devel/attachments/20180430/d35ba509/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Errors2.PNG
Type: image/png
Size: 5529 bytes
Desc: Errors2.PNG
URL: <http://lists.openembedded.org/pipermail/bitbake-devel/attachments/20180430/d35ba509/attachment-0005.png>


More information about the bitbake-devel mailing list