Build OE with meta-swupdate layer

646 views
Skip to first unread message

peter.j...@gmail.com

unread,
Mar 7, 2018, 6:06:50 AM3/7/18
to swupdate
Hi,
I try to compile OpenEmbedded image with meta-swupdate layer for Toradex iMX7s board. I got some errors in compilation and don't know how to fix it. Maybe someone can help me.

I am using Angstrom 2.7b5 distribution provided by Toradex. This version is based on YOCTO "morty". So, I downloaded "morty" branch of meta-swupdate from GIT. But there is a conflict between two provided versions of u-boot-fw-utils in project:


ERROR: Multiple .bb files are due to be built which each provide u-boot-fw-utils:
/home/cominfo/oe-core/build/../layers/meta-toradex-nxp/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb
/home/cominfo/oe-core/build/../layers/openembedded-core/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.03.bb


Toradex u-boot version is newer - 2016.11, so I added following line into local.conf:


PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-toradex-fsl-fw-utils"


But now I got this error:


ERROR: swupdate-2017.01-r0 do_compile: oe_runmake failed
ERROR: swupdate-2017.01-r0 do_compile: Function failed: do_compile (log file is located at /home/cominfo/oe-core/build/tmp-glibc/work/armv7at2hf-neon-angstrom-linux-gnueabi/swupdate/2017.01-r0/temp/log.do_compile.6246)
ERROR: Logfile of failure stored in: /home/cominfo/oe-core/build/tmp-glibc/work/armv7at2hf-neon-angstrom-linux-gnueabi/swupdate/2017.01-r0/temp/log.do_compile.6246


In the log file is this:


/home/cominfo/oe-core/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/6.2.1/ld: error: cannot find -lubootenv
core/built-in.o:syslog.c:function fw_set_one_env: error: undefined reference to 'fw_env_open'
core/built-in.o:syslog.c:function fw_set_one_env: error: undefined reference to 'fw_env_write'
core/built-in.o:syslog.c:function fw_set_one_env: error: undefined reference to 'fw_env_close'
handlers/built-in.o:uboot_handler.c:function install_uboot_environment: error: undefined reference to 'fw_parse_script'
corelib/lib.a(installer.o):installer.c:function install_images: error: undefined reference to 'fw_parse_script'
collect2: error: ld returned 1 exit status
Makefile:372: recipe for target 'swupdate_unstripped' failed


If I add this into local.conf to use 2016.03 version:


PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils"


Then I got this error again:


ERROR: Multiple .bb files are due to be built which each provide u-boot-fw-utils:
/home/cominfo/oe-core/build/../layers/meta-toradex-nxp/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb
/home/cominfo/oe-core/build/../layers/openembedded-core/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.03.bb


If I use "master" branch of meta-swupdate instead of "morty", then I got this error:


WARNING: /home/cominfo/oe-core/build/../layers/meta-swupdate/recipes-support/swupdate/swupdate_git.bb: Exception during build_dependencies for SRCREV
WARNING: /home/cominfo/oe-core/build/../layers/meta-swupdate/recipes-support/swupdate/swupdate_git.bb: Error during finalise of /home/cominfo/oe-core/build/../layers/meta-swupdate/recipes-support/swupdate/swupdate_git.bb
ERROR: ExpansionError during parsing /home/cominfo/oe-core/build/../layers/meta-swupdate/recipes-support/swupdate/swupdate_git.bb
Traceback (most recent call last):
bb.data_smart.ExpansionError: Failure expanding variable SRCREV, expression was ${@version_git(d)} which triggered exception TypeError: getVar() missing 1 required positional argument: 'expand'
ERROR: /home/cominfo/oe-core/build/../layers/meta-swupdate/recipes-extended/images/swupdate-image.bb: No IMAGE_CMD defined for IMAGE_FSTYPES entry 'ext4.gz.u-boot' - possibly invalid type name or missing support class

Stefano Babic

unread,
Mar 7, 2018, 9:38:17 AM3/7/18
to peter.j...@gmail.com, swupdate
Hi Peter,
Sorry, the issue with libubootenv was already treated. You have to fix
in verndor's BSP the building of libubootenv.a. This is the reason why
linking for SWUpdate fails. As reported in documentation, you should not
use any version less that 2016.05. 2016.03 does not work even if you
link (you should then fix yourself).

If you replace package's names with something else you find funny,
things go from bad to worse. u-boot-toradex-fsl-fw-utils is not the
official package name in Yocto (u-boot-fw-utils is) and
u-boot-fw-utils%.bbappend in meta-swupdate cannot be applied: the
installation of libubootenv.a is skipped.

Best regards,
Stefano Babic

--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=====================================================================

peter.j...@gmail.com

unread,
Mar 8, 2018, 3:34:43 AM3/8/18
to swupdate
Dňa streda, 7. marca 2018 15:38:17 UTC+1 Stefano Babic napísal(-a):
Hi,
I am able to build image now.

Thanks.
Reply all
Reply to author
Forward
0 new messages