Build yocto/legato 16.04


#1

Hiya,

Trying to get Yocto/Legato 16.04 to build.

When I run

./build.sh -p ../poky/ -o ../meta-openembedded/ -l ../meta-swi -m swi-mdm9x15 -q -t 9 -j 9 -d

I always get the following error and failure:

NOTE: Error during finalise of /home/developer/yocto/yocto/poky/meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb NOTE: Error during finalise of /home/developer/yocto/yocto/poky/meta/recipes-kernel/linux/linux-yocto_3.14.bb ERROR: ExpansionError during parsing /home/developer/yocto/yocto/poky/meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb: Failure expanding variable do_patch: ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception MalformedUrl: The URL: 'git://;protocol=file;branch=standard/swi-mdm9x15-yocto-1.7-swi-le55,meta-yocto-1.7-swi-le55;name=machine,meta' is invalid and cannot be interpreted

I’m not expecting that the -rt version of the kernel to be built…

This is using the source bundle downloaded from ‘The Source’.

Any thoughts about how to resolve this error?

ciao, Dave


#2

Hi Dave,

to give some background, the development of Legato has switched to repo (>= 16.04.1), so the legato-af repository is not standalone anymore and relies on other repositories.

However the WP85 Yocto distribution tries to build the latest commit from github.com/legatoproject/legato-af, and so this breaks since 16.04.0 this does not build anymore by itself.

We fixed the issue in the upcoming releases of the distribution, but in the meantime here are some workarounds:

1/ Workaround 1 - Disable Legato build within Yocto

$ export LEGATO_BUILD=0 $ make image
This will disable everything in the build that is related to the Legato image.
Given that there is no Legato in the rootfs (only some init code for Legato), it would not be affected.

2/ Workaround 2 - Build Legato version 16.04.0

$ export LEGATO_REPO="git://github.com/legatoproject/legato-af;protocol=git;rev=688a28dd2d932c13e82133f24915f5b2b9745b58" $ make image
The commit id of tag 16.04.0 is 688a28dd2d932c13e82133f24915f5b2b9745b58.
(For some reason, tag=16.04.0 doesn’t work, seems like it might only work with annotated tags)

This fetches the release 16.04.0 from GitHub and builds with it.

3/ Workaround 3 - Build Legato from a tarball

You would have to download a tarball first, such as downloads.sierrawireless.com/leg … .0.tar.bz2

$ wget http://downloads.sierrawireless.com/legato/1604/legato-16.04.0.tar.bz2 $ export LEGATO_REPO="[file:///\\$(PWD)\legato-16.04.0.tar.bz2]file://$(PWD)/legato-16.04.0.tar.bz2" $ make image
This uses the tarball (that is generated as part of the Legato release process) to build.

Let me know if that works for you :slight_smile:


#3

I have the same problem, but make image didn’t help:

ERROR: Fetcher failure: Fetch command failed with exit code 128, output:
Cloning into bare repository ‘/home/igor/yocto/build_bin/downloads/git2/codeaurora.org.platform.hardware.libhardware’…
fatal: unable to connect to codeaurora.org:
codeaurora.org[0: 198.145.29.80]: errno=Connection refused
ERROR: Function failed: Fetcher failure for URL: ‘git://codeaurora.org/platform/hardware/libhardware;branch=LNX.LE.2.1’. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/igor/yocto/build_bin/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/libhardware/1.0-r0/temp/log.do_fetch.22981
ERROR: Task 1284 (/home/igor/yocto/meta-swi/meta-swi-mdm9xxx/recipes-bsp/libhardware/libhardware.bb, do_fetch) failed with exit code ‘1’

Doing ./build.sh -p ../poky/ -o ../meta-openembedded/ -l ../meta-swi -m swi-mdm9x15 -q -t 4 -j 4 -d throws another error:
ERROR: ExpansionError during parsing /home/igor/yocto/poky/meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb: Failure expanding variable do_patch: ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception MalformedUrl: The URL: ‘git://;protocol=file;branch=standard/swi-mdm9x15-yocto-1.7-swi-le55,meta-yocto-1.7-swi-le55;name=machine,meta’ is invalid and cannot be interpreted

I have Legato Linux distribution Version 16.07.0 downloaded from source.sierrawireless.com/resour … linuxdist/ and I am trying to build on ubuntu 16.04.
Any help will be appreciated.