[yocto] Help with Bitbake: (bitbake-layers show-recipes)
Luis Martins
luis_martins_5 at hotmail.com
Mon Apr 30 09:18:47 PDT 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:
[Inline image OWAPstImg945310]
[Inline image OWAPstImg953070]
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.yoctoproject.org/pipermail/yocto/attachments/20180430/fe0fa2ab/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Outlook-Inline ima.png
Type: image/png
Size: 27254 bytes
Desc: Outlook-Inline ima.png
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20180430/fe0fa2ab/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Outlook-Inline ima.png
Type: image/png
Size: 6605 bytes
Desc: Outlook-Inline ima.png
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20180430/fe0fa2ab/attachment-0003.png>
More information about the yocto
mailing list