Emulator Build Instructions
RDK-V Emulator Build Instructions
Copyright 2015 RDK Management, LLC. All rights reserved.
The contents of this document are RDK Management, LLC Proprietary and Confidential and may not be distributed or otherwise disclosed without prior written permission of RDK Management, LLC.
Document Status
Document Control Number | D10-20141105 |
Document Title | RDK Emulator Users Guide |
Version | D05 |
Date | 2015/02/23 |
Status | Issued (I) |
Distribution | RDK licensees & ASP Members |
Document Status Codes
Work in Progress (WIP) | An incomplete document designed to guide discussion and generate feedback that may include several alternative requirements for consideration. |
Draft (D) | A document in specification format considered largely complete, but lacking review. Drafts are susceptible to substantial change during the review process. |
Pre-Issued (Pre I) | A revision of a document circulated for review or approval prior to release, but not approved for distribution |
Issued (I) | A stable document, which has undergone rigorous review and is suitable for product design and development |
Legal Notices
This document is provided under the terms and conditions of the RDK License Agreement, License Agreement for Software Integration Kit, License Agreement for Set-top Box Software Integration Kit.
RDK Management LLC is not responsible for any liability of any nature whatsoever resulting from or arising out of any use or reliance upon this specification. This document is furnished on an “AS IS” basis, and RDK Management, LLC does not provide any representation or warranty, express or implied, regarding its accuracy, completeness, or fitness for a particular purpose.”
Table of Contents
Introduction
RDK (Reference Design Kit) is an integrated set of software components, tools and documentation that help in the development of the software stack for set-top box based on the standard Linux operating system which is designed to meet the requirements of the latest generation media servers and clients.
The RDK emulator is an x86 based implementation of the RDK software stack. It is primarily targeted towards the RDK development community (integrators, component developers and application developers) that attempts to simplify the process of working with the RDK software stack without the need for a reference hardware platform. The key applications in the RDK Emulator are the rmfApp, Media streamer and the RDK-Browser. As RDK emulator runs on desktop computers, applications can be tested and debugged before trying to deploy them to real devices.
Purpose of this Document
The purpose of this document is to enable RDK users and developers to be able to bring up the RDK stack and emulator on the PC platform. The document also includes step-by-step procedures to setup & build RDK Emulator
Audience
The intended audience includes the MSO teams, developers and external vendors responsible for the development of firmware and applications for RDK-based Set Top Boxes
Scope
Scope of this document includes understanding RDK Emulator and functionalities, supported build types and to run and test in Virtual Box environment.
Limitations
RDK Emulator does not support all components of RDK 2.0 stack .Currently RDK Emulator supports mediaframework, media-streamer, RDK-Browser and RDK-Logger, XRE components.
Known Issues
- During video playback, performance issues are there due to video scaling.
- Also In rmfApp , while playing video through hnsource or qamsource , application may crash once EOS is reached.
- It has been seen that open source package mirror repos may go down temporarily or may be blocked by local corporate firewalls. Please try the build again at a later time or after resolving local firewall issues. One test would be to access the failing url on the web browser and see if the site is up. This can help isolate local issues.
Abbreviations and Acronyms
The following table describes the acronyms and abbreviations used in this document
Abbreviation/Acronym | Description |
RDK | Reference Design Kit |
VM | Virtual Machine |
VBox | Virtual Box |
QAM | Quadrature Amplitude Modulation |
STB | Set Top Box |
XRE | Cross-Platform Runtime Environment |
HDD | Hard Disk Drive |
EOS | End of Stream |
SPTS | Single Program Transport Stream |
MPTS | Multi-Program Transport Stream |
UPNP | Universal Plug and Play |
Overview of RDK Emulator
- Executes on x86-based platforms including virtualization environments such as Virtual Box and QEMU.
- Multiple build types – media client, hybrid etc
- Supports the RDK Browser startup application.
- Up to date with the RDK generic trunk and any x86-specific platform code.
- Built using Yocto and RDK build frameworks
Key Features
- RMF Support
- RDK Browser as a start-up application supporting playback of local TS file.
- Video/Audio playback using fbdevsink and autoaudiosink gstreamer elements.
- Remote control – x86-based QT application that is useful for navigation in RDK Browser and XRE Applications
- Support for X2 guide.
Supported Build Types
Build Types | RDK Components Involved | Features/Applications Supported | Final Image Name | Startup Application |
RDK Mediaclient |
|
| rdk-generic-mediaclient-image-qemux86.vmdk | RDK-Browser |
RDK Hybrid |
|
| rdk-generic-hybrid-image-qemux86.vmdk | RDK-Browser |
Build Setup Instructions
Setting up the Host Environment
How to Build#SettinguptheHostEnvironment
Yocto 2.2 (Morty) support in RDK Emulator
Downloading Source Code & Building (morty version of RDK-Emulator)
The following commands fetch the source code of the emulator using the Android repo tool
mkdir emulator && cd emulator repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-nosrc.xml repo sync -j`nproc` --no-clone-bundle --no-tags
The above step configures and sets up your directory to start an appropriate build for hybrid or media client.
For Mediaclient:
MACHINE=qemux86mc-morty source meta-cmf-bsp-emulator/setup-environment bitbake rdk-generic-mediaclient-wpe-image
For Hybrid:
MACHINE=qemux86hyb-morty source meta-cmf-bsp-emulator/setup-environment bitbake rdk-generic-hybrid-wpe-image
On Successful build, the image (in .vmdk format) would be available at the following reference location based on whether your build type was Hybrid (qemux86hyb-morty) or Media Client (qemux86mc-morty):
– build-qemux86hyb-morty/tmp/deploy/images/qemux86hyb-morty or
– build-qemux86mc-morty/tmp/deploy/images/qemux86mc -morty
To build TDK-images
For Mediaclient:
MACHINE=qemux86mc-morty source meta-cmf-bsp-emulator/setup-environment bitbake rdk-generic-mediaclient-wpe-tdk-image
For Hybrid:
MACHINE=qemux86hyb-morty source meta-cmf-bsp-emulator/setup-environment bitbake rdk-generic-hybrid-wpe-tdk-image
Note:
VMWare Player 6.X or
less
only supported to get wpe-webkit browser support
Host OS ubuntu 12.04 32-Bit
I’m using Ubuntu 16.04 32-bit (via VirtualBox) as recommended on this page. However I’m hitting a compilation error with libgpg-error-native:
In file included from /home/justinware/emulator/build-qemux86hybdev/tmp/work/i686-linux/libgpg-error-native/1.12-r0/libgpg-error-1.12/src/mkerrcodes.c:26:0:
./mkerrcodes.h:9:5: error: expected expression before ‘,’ token
{ , "GPG_ERR_E2BIG" },
I’m using source code from tag " rdkv-2018q1" and option 3 when using setup_environment.sh.
I can see this particular compilation issue has occurred for other developers using gcc 4 & 5, and has since been patched in the gpg source. Should I expect 16.04 to work or should I be using 14.04 or 12 instead?
Hi Z-Justin Ware
Please Try compiling with latest repo URL repo init -u https://code.rdkcentral.com/r/manifests -b rdk-dev-1901 -m rdkv-extsrc.xml
Hi Gayathri,
thanks for the suggestion. I tried the version you suggested and chose entry 30 as the applicable one for the emulator but I got the following error while bitbake was setting up the build:
NOTE: Resolving any missing task queue dependencies
NOTE: preferred version 3.3.% of gnutls not available (for item gnutls)
NOTE: versions of gnutls available: 2.12.24 3.5.3
NOTE: preferred version 3.3.% of gnutls not available (for item gnutls-dev)
NOTE: versions of gnutls available: 2.12.24 3.5.3
NOTE: preferred version 1.0.1 of dibbler not available (for item dibbler-client)
NOTE: versions of dibbler available: 1.0.0RC2
NOTE: preferred version 1.4.45 of lighttpd not available (for item lighttpd)
NOTE: versions of lighttpd available: 1.4.39 1.4.41 1.5
ERROR: Nothing RPROVIDES ‘dracut’ (but /home/justinware/emulator/meta-openembedded/meta-oe/recipes-core/plymouth/plymouth_0.9.2.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target ‘dracut’ is unbuildable, removing…
Missing or unbuildable dependency chain was: [‘dracut’]
NOTE: Runtime target ‘plymouth’ is unbuildable, removing…
Missing or unbuildable dependency chain was: [‘plymouth’, ‘dracut’]
ERROR: Required build target ‘rdk-generic-hybrid-image’ has no buildable providers.
Missing or unbuildable dependency chain was: [‘rdk-generic-hybrid-image’, ‘plymouth’, ‘dracut’]
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
justinware@RDK-16:~/emulator/build-qemux86hyb$
I explicitly installed ‘dracut’ on the (virtual) machine but bitbake still gives the same error.
Any clues on what I’m doing wrong?
Justin
Hi Z-Justin Ware
Have you done these steps
Install the following packages for setting up:
$ sudo apt-get install build-essential gettext bison libfile-slurp-perl gawk libncurses-dev autoconf flex doxygen libtool automake libpcre3-dev zlib1g-dev libbz2-dev subversion minicom putty libssl-dev rpm python-pexpect python-svn python-argparse vim tofrodos meld dos2unix cmake uuid-dev ruby transfig libglib2.0-dev xutils-dev lynx-cur gperf autopoint python-dulwich python-dev curl vim diffstat texinfo chrpath openjdk-7-jre
Configure bash as default command interpreter for shell scripts:
$ sudo dpkg-reconfigure dash
Select “No”
To choose bash, when the prompt asks if you want to use dash as the default system shell – select “No”
Also install the below list of packages for Yocto build:
$ sudo apt-get install sed wget cvs subversion git-core coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff
Try out in Fresh workspace
Hi Z-Gayathri,
if these are the instructions from above then I have. Please note that “openjdk-7-jre” is not in the repository for Ubuntu 16.04 32-bit. I substituted “openjdk-9.jre” instead.
“Try out in Fresh workspace” – I’m not sure what you mean. I have wiped my repo, initialised and sync’d again. I have not recreated the virtual machine from scratch. I created the virtual machine purely for the purpose of building the rdk-v emulator so it has no unnecessary packages or configuration changes. I’m running 64-bit Ubuntu 16.04 on my host which is not suitable, so I created an Ubuntu 16.04 32-bit installed in VirtualBox to do the build.
Thanks for your assistance,
Justin
Ah, it doesn’t have the missing runtime dependency on ‘dracut’ if I go for ‘qemux86hyb-morty’. Does this mean ‘qemux86hyb’ is no longer supported?
Kind regards,
Justin
Z-Justin Ware qemux86hyb-morty configuration should be used for morty and rightnow rdk is migrated to morty (Yocto-2.2) version
Hi,
I have an error with "ctrlm-xraudio-hal"
"/usr/bin/python3: can’t find ‘__main__’ module in ”"
any idea?
Add below in meta-rdk/conf/local.conf.sample :
——
DISTRO_FEATURES_RDK += "ctrlm_voice_sdk"
Hi,
Since controllerm module is not necessary emulator, it can be masked under build-qemux86mc-dunfell/conf/local.conf with below line –
BBMASK .= "|meta-rdk-video/recipes-extended/ctrlm/ctrlm-xraudio-hal.bb"
Hi Z-Lotfi Ben Taleb
ctrlm-xraudio-hal – is related to Control Manager feature, as the feature is not functional fully, mask the recipe to avoid build error.
Hi Z-Sri Swati Varahagiri
Thank you for your reply. When I masked the ctrlm recipe, I got a dependency issue as following:
“Missing or unbuildable dependency chain was: [‘packagegroup-rdk-media-common’, ‘ctrlm-main’]”
Hi Z-Lotfi Ben Taleb
ctrlm-main is related to control manager as well and since the feature is not yet functional completely, please remove the ctrlm-main feature from packagegroups. You can also remove the xr-atomic feature from package group which is also related to control manager.
I’m using Ubuntu 16.04 32-bit (Host) as recommended on this page. However I’m hitting a compilation error
Downloading Repo source from https://gerrit.googlesource.com/git-repo
Traceback (most recent call last):
File "/home/ubuntu/emulator/.repo/repo/main.py", line 42, in <module>
from git_config import RepoConfig
File "/home/ubuntu/emulator/.repo/repo/git_config.py", line 774
self._Set(f’superproject.{key}’, value)
^
SyntaxError: invalid syntax
i am using this repo
repo init -u https:
//code
.rdkcentral.com
/r/manifests
-b rdk-next -m rdkv-nosrc.xml
python 3.7 is needed
Please check whether the repo is used is same as below:
curl https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo chmod a+x ~/bin/repo
Also whether python version is updated in the build VM
I meet an issue of sysint during building rdk-generic-mediaclient-wpe-image => sysint_git.bb: Unable to get checksum for sysint SRC_URI entry xi-xconf-hosts_qemux86.list: file could not be found.
This issue is happen in -m rdkv-extsrc.xml and -m rdkv-nosrc.xml
How to fix it?
The file xi-xconf-hosts_qemux86.list did not exist in the downloaded repo.
The build of sysint of build-raspberrypi-rdk-mc is correct.
Thanks.
Ken
LOG:
$ repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-nosrc.xml
$ repo sync -j`nproc` –no-clone-bundle –no-tags
$ MACHINE=qemux86mc-morty source meta-cmf-bsp-emulator/setup-environment
$ bitbake rdk-generic-mediaclient-wpe-image
Parsing recipes…WARNING: /media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint_git.bb: Unable to get checksum for sysint SRC_URI entry xi-xconf-hosts_qemux86.list: file could not be found
…
NOTE: Running task 1669 of 5577 (/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint_git.bb:do_fetch)
NOTE: recipe sysint-1.99-r0: task do_fetch: Started
…
WARNING: sysint-1.99-r0 do_fetch: Failed to fetch URL file://xi-xconf-hosts_qemux86.list, attempting MIRRORS if available
ERROR: sysint-1.99-r0 do_fetch: Fetcher failure: Unable to find file file://xi-xconf-hosts_qemux86.list anywhere. The paths that were searched were:
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/rdk
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/rdk
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/rdk
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/rdk
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/morty
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/morty
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/morty
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/morty
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/qemux86mc
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/qemux86mc
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/qemux86mc
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/qemux86mc
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/client
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/client
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/client
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/client
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/qemux86mc-morty
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/qemux86mc-morty
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/qemux86mc-morty
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/qemux86mc-morty
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/qemuall
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/qemuall
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/qemuall
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/qemuall
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/x86
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/x86
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/x86
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/x86
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/qemux86
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/qemux86
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/qemux86
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/qemux86
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/i586
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/i586
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/i586
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/i586
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-cmf-restricted/recipes-extended/sysint/sysint/
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint-1.99/
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint/
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/files/
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/build-qemux86mc-morty/../downloads
ERROR: sysint-1.99-r0 do_fetch: Fetcher failure for URL: ‘file://xi-xconf-hosts_qemux86.list‘. Unable to fetch URL from any source.
ERROR: sysint-1.99-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/build-qemux86mc-morty/tmp/work/i586-rdk-linux/sysint/1.99-r0/temp/log.do_fetch.23182
NOTE: recipe sysint-1.99-r0: task do_fetch: Failed
ERROR: Task (/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint_git.bb:do_fetch) failed with exit code ‘1’
…
Summary: 1 task failed:
/media/user/SSD960GB/RDK/repo/rdk-next_rdkv-nosrc/meta-rdk-video/recipes-extended/sysint/sysint_git.bb:do_fetch
Summary: There were 32 WARNING messages shown.
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
Hi Z-Ken Yang , the file ‘xi-xconf-hosts_qemux86.list’ is present but with a different name in the below path:
‘meta-cmf-restricted/recipes-extended/sysint/sysint/qemux86/xconf-hosts_qemux86.list‘.
You have to rename the file in the above path from xconf-hosts_qemux86.list to xi-xconf-hosts_qemux86.list.
anyone provide latest repo? old repo not able to create image file(.vmdk) please help.
when i create the image file of RDK emulator then come this type error. anyone know what the problem. please help
i am using this repo :
repo init -u https:
//code
.rdkcentral.com
/r/manifests
-b rdk-next -m rdkv-nosrc.xml for creating image file of RDK Emulator.
ubuntu@ubuntu-Latitude-E6430:~/emulator/build-qemux86mc-morty$ bitbake rdk-generic-mediaclient-wpe-image
ERROR: ExpansionError during parsing /home/ubuntu/emulator/meta-rdk-restricted/recipes-extended/closedcaption/closedcaption_git.bb
Traceback (most recent call last):
File "/home/ubuntu/emulator/openembedded-core/bitbake/lib/bb/data_smart.py", line 386, in DataSmart.expandWithRefs(s=’${RDK_RELEASE}+git${SRCPV}’, varname=’PV’):
try:
> s = __expand_var_regexp__.sub(varparse.var_sub, s)
try:
File "/home/ubuntu/emulator/openembedded-core/bitbake/lib/bb/data_smart.py", line 111, in VariableParse.var_sub(match=<_sre.SRE_Match object; span=(18, 26), match=’${SRCPV}’>):
else:
> var = self.d.getVarFlag(key, "_content", True)
self.references.add(key)
File "/home/ubuntu/emulator/openembedded-core/bitbake/lib/bb/data_smart.py", line 737, in DataSmart.getVarFlag(var=’SRCPV’, flag=’_content’, expand=True, noweakdefault=False, parsing=False):
cachename = var + "[" + flag + "]"
> value = self.expand(value, cachename)
File "/home/ubuntu/emulator/openembedded-core/bitbake/lib/bb/data_smart.py", line 410, in DataSmart.expand(s=’${@bb.fetch2.get_srcrev(d)}’, varname=’SRCPV’):
def expand(self, s, varname = None):
> return self.expandWithRefs(s, varname).value
File "/home/ubuntu/emulator/openembedded-core/bitbake/lib/bb/data_smart.py", line 400, in DataSmart.expandWithRefs(s=’${@bb.fetch2.get_srcrev(d)}’, varname=’SRCPV’):
except Exception as exc:
> raise ExpansionError(varname, s, exc) from exc
bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Fetch command export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"; export SSH_AGENT_PID="1600"; export SSH_AUTH_SOCK="/run/user/1000/keyring/ssh"; export PATH="/home/ubuntu/emulator/openembedded-core/scripts:/home/ubuntu/emulator/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/usr/bin/i586-rdk-linux:/home/ubuntu/emulator/build-qemux86mc-morty/tmp/sysroots/qemux86mc-morty/usr/bin/crossscripts:/home/ubuntu/emulator/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/usr/sbin:/home/ubuntu/emulator/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/usr/bin:/home/ubuntu/emulator/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/sbin:/home/ubuntu/emulator/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/bin:/home/ubuntu/emulator/openembedded-core/scripts:/home/ubuntu/emulator/openembedded-core/bitbake/bin:/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"; export HOME="/home/ubuntu"; git -c core.fsyncobjectfiles=0 ls-remote https://code.rdkcentral.com/r/components/generic/closedcaption failed with exit code 128, output:
fatal: remote error: access at least one ref not permitted
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
Yogomaya Maharana
Can you please check this closedcaption repo access issue.
Z-Girish – Please try now.
Thanks for reply , but now encounter this error during download image file (.vmdk) for emulator.
ERROR: systemd-1_230+gitAUTOINC+3a74d4fc90-r0 do_fetch: Fetcher failure: Unable to find revision 3a74d4fc90cb322a4784a3515bef7118c8f8c5ba in branch master even from upstream
ERROR: systemd-1_230+gitAUTOINC+3a74d4fc90-r0 do_fetch: Fetcher failure for URL: ‘git://github.com/systemd/systemd.git;protocol=git‘. Unable to fetch URL from any source.
ERROR: systemd-1_230+gitAUTOINC+3a74d4fc90-r0 do_fetch: Function failed: base_do_fetch
ERROR: Logfile of failure stored in: /home/ubuntu/emulator/build-qemux86hyb-morty/tmp/work/i586-rdk-linux/systemd/1_230+gitAUTOINC+3a74d4fc90-r0/temp/log.do_fetch.26325
ERROR: Task (/home/ubuntu/emulator/openembedded-core/meta/recipes-core/systemd/systemd_230.bb:do_fetch) failed with exit code ‘1’
NOTE: Tasks Summary: Attempted 804 tasks of which 0 didn’t need to be rerun and 1 failed.
NOTE: Writing buildhistory
Summary: 1 task failed:
/home/ubuntu/emulator/openembedded-core/meta/recipes-core/systemd/systemd_230.bb:do_fetch
Summary: There were 25 WARNING messages shown.
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
host machine : ubuntu
ubuntu version : 16.04
using repo :
repo init -u https:
//code
.rdkcentral.com
/r/manifests
-b rdk-next -m rdkv-nosrc.xml
I reproduce the same original issue as Z-Girish, using the same repo command (I am trying to build the hybrid target). Is it worth trying Dunfell instead of Morty?
David Toll
Please try with these changes to change the download protocol:
(from console each time)
or set permanently in ~/.gitconfig
[url “https://github“]
insteadOf = git://github
OK I tried this, but I still see the same error:
dtoll@latitude-e6430:~/rdk/build-qemux86hyb-morty$ bitbake rdk-generic-hybrid-wpe-image
ERROR: ExpansionError during parsing /home/dtoll/rdk/meta-rdk-restricted/recipes-extended/closedcaption/closedcaption_git.bb
The following error occurred when I compile python-native:
| gcc -pthread -L/code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/usr/lib -L/code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/lib -Wl,-rpath-link,/code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath-link,/code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/lib -Wl,-rpath,/code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/usr/lib -Wl,-rpath,/code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/sysroots/x86_64-linux/lib -Wl,-O1 -Xlinker -export-dynamic -o python
| Modules/python.o
| -L. -lpython2.7 -lpthread -ldl -lutil -lm
| LD_LIBRARY_PATH=/code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/work/x86_64-linux/python-native/2.7.12-r1.1/build ./python -E -S -m sysconfig –generate-posix-vars ;
| if test $? -ne 0 ; then
| echo "generate-posix-vars failed" ;
| rm -f ./pybuilddir.txt ;
| exit 1 ;
| fi
| /bin/sh: line 5: 21158 Segmentation fault (core dumped) LD_LIBRARY_PATH=/code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/work/x86_64-linux/python-native/2.7.12-r1.1/build ./python -E -S -m sysconfig –generate-posix-vars
| generate-posix-vars failed
| Makefile:544: recipe for target ‘pybuilddir.txt’ failed
| make: *** [pybuilddir.txt] Error 1
| ERROR: Function failed: do_compile (log file is located at /code/jason/rdkv-emulator/rdkv-nosrc/build-qemux86mc-morty/tmp/work/x86_64-linux/python-native/2.7.12-r1.1/temp/log.do_compile.11415)
ERROR: Task (/code/jason/rdkv-emulator/rdkv-nosrc/openembedded-core/meta/recipes-devtools/python/python-native_2.7.12.bb:do_compile) failed with exit code ‘1’
host machine : ubuntu
ubuntu version : 18.04
using repo :
repo init -u https:
//code
.rdkcentral.com
/r/manifests
-b rdk-next -m rdkv-nosrc.xml
command: MACHINE=qemux86mc-morty source meta-cmf-bsp-emulator/setup-environment ; bitbake rdk-generic-mediaclient-wpe-image
I also confirmed the environment variables:
export LC_CTYPE=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
fix method:
1)cd openembedded-core/meta/recipes-devtools/python
2)add modify "file://00293-fix-gc-alignment.patch" to python-native_2.7.12.bb
3)add patch file 00293-fix-gc-alignment.patch:
Fix for over-aligned GC info
Patch by Florian Weimer
See: https://bugzilla.redhat.com/show_bug.cgi?id=1540316
Upstream discussion: https://mail.python.org/pipermail/python-dev/2018-January/152000.html
diff –git a/Include/objimpl.h b/Include/objimpl.h
index 55e83eced6..aa906144dc 100644
— a/Include/objimpl.h
+++ b/Include/objimpl.h
@@ -248,6 +248,18 @@ PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, Py_ssize_t);
/* for source compatibility with 2.2 */
#define _PyObject_GC_Del PyObject_GC_Del
+/* Former over-aligned definition of PyGC_Head, used to compute the
+ size of the padding for the new version below. */
+union _gc_head;
+union _gc_head_old {
+ struct {
+ union _gc_head *gc_next;
+ union _gc_head *gc_prev;
+ Py_ssize_t gc_refs;
+ } gc;
+ long double dummy;
+};
+
/* GC information is stored BEFORE the object structure. */
typedef union _gc_head {
struct {
@@ -255,7 +267,8 @@ typedef union _gc_head {
union _gc_head *gc_prev;
Py_ssize_t gc_refs;
} gc;
– long double dummy; /* force worst-case alignment */
+ double dummy; /* force worst-case alignment */
+ char dummy_padding[sizeof(union _gc_head_old)];
} PyGC_Head;
extern PyGC_Head *_PyGC_generation0;