Skip to end of metadata
Go to start of metadata

  Build instructions for Control manager integration in RPI

       The following commands fetches the source code using repo tool and create the image using bitbake.


repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-nosrc.xml
repo sync -j4 --no-clone-bundle
source meta-cmf-raspberrypi/setup-environment <select option raspberrypi-rdk-hybrid.conf>
bitbake rdk-generic-hybrid-wpe-image

Errors and Challenges

observered in opensourced recipes

recipelayererror/warningroot causeaction
ctrlm-main.bbmeta-rdk-video

| ../../git/src/ble/ctrlm_hal_ble.cpp:25:10: fatal error: stropts.h: No such file or directory

|    25 | #include <stropts.h>

|       |          ^~~~~~~~~~~

| compilation terminated.

header file for morty and dunfell are different


https://gerrit.teamccp.com/#/c/503274/

ctrlm-main.bbmeta-rdk-video| ../../../../../../../../rdk/components/generic/control/src/../cpc/ctrlm_vendor_network_factory.cpp: In function 'void ctrlm_vendor_network_factory_func_add(int (*)(long unsigned int, json_t*, networks_map_t&))':
| ../../../../../../../../rdk/components/generic/control/src/../cpc/ctrlm_vendor_network_factory.cpp:27:12: error: return-statement with a value, in function returning 'void' [-fpermissive]
|      return 0;
|             ^
| make[3]: *** [../cpc/ctrlm_vendor_network_factory.o] Error 1
missing symbol issue

REFPLTV-929 - Getting issue details... STATUS

Added dummy finction in ctrlm_vendor_network_factory.cpp

asbluetoothrcu.bbmeta-rdk-video

const class QJsonValue' has no member named 'toInt'


| /home/vtv364/vtv364/dunfell/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/asbluetoothrcu/1.99-r0/git/daemon/source/utils/promise.h:32:10: fatal error: QAtomicInteger: No such file or directory

|    32 | #include <QAtomicInteger>

|       |          ^~~~~~~~~~~~~~~~

| compilation terminated.


| /home/vtv364/vtv364/dunfell/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/asbluetoothrcu/1.99-r0/git/daemon/source/utils/logging.h:34:10: fatal error: QLoggingCategory: No such file or directory

|    34 | #include <QLoggingCategory>

|       |          ^~~~~~~~~~~~~~~~~~

| compilation terminated.


patch 

https://gerrit.teamccp.com/#/c/477819/

packagegroup-rdk-qt5.bb meta-rdkNothing RPROVIDES 'qtremoteobjects' 

Added

DISTRO_FEATURES_append = " comcast_qt5"

in meta-cmf-raspberrypi/conf/machine/raspberrypi-rdk-hybrid.conf

ctrlm-main.bbmeta-rdk-video

ERROR: ctrlm-main-1.0-r0 do_compile: oe_runmake failed

| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ble/ctrlm_hal_ble.cpp:1709: error: undefined reference to 'libevdev_new_from_fd'
| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ble/ctrlm_hal_ble.cpp:1714: error: undefined reference to 'libevdev_get_uniq'
| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ble/ctrlm_hal_ble.cpp:1720: error: undefined reference to 'libevdev_free'
| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ble/ctrlm_hal_ble.cpp:1729: error: undefined reference to 'libevdev_free'


Added

DEPENDS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'build_for_sky', ' libevdev', ' ', d)}"

LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'build_for_sky', ' -levdev', ' ', d)}"

in ctrlm-main.bbappend


msgpack-c_2.1.1.bbmeta-rdk-ext

ERROR: msgpack-c-2.1.1+gitAUTOINC+20ef1f925b-r0 do_compile

| /mnt/home/mbaska691/vijith/mngr/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/msgpack-c/2.1.1+gitAUTOINC+20ef1f925b-r0/git/test/carray.cpp:2:25: fatal error: gtest/gtest.h: No such file or directory
|  #include <gtest/gtest.h>
|                          ^
| compilation terminated.


Add


DEPENDS ="gtest" 

in meta-rdk-ext/recipes-support/msgpack/msgpack-c_2.1.1.bb

asbluetoothrcu.bbmeta-cmf-raspberrypi| CMake Error at CMakeLists.txt:24 (cmake_minimum_required):
|   CMake 3.10.3 or higher is required.  You are running version 3.8.2

added cmake_3.10.3.bb and related recipes to openembedded-core/meta/recipes-devtools/cmake/


observed in morty image.




"BleRcuDaemon" received signal SIGSEGV, Segmentation fault.

upgrade bluez froom 5.45 to 5.48


 CTRLM  :FATAL : ctrlm_main: failed to load version

version.txt missing params,

JENKINS_JOB
JENKINS_BUILD_NUMBER


Some of the build errors and its root cause is described in the below table. We will keep updating the table as we encounter more errors. (Before opensourcing)


recipelayererror/warningroot causeaction
ctrlm-main.bbmeta-rdk-videoERROR: Nothing PROVIDES 'rdkversion'missing rdkversion recipeAdd rdkversion.bb file in meta-cmf-raspberrypi
xr-speech-router_1.0.bbmeta-rdk-voice-sdkERROR: Nothing PROVIDES 'xr-sm-engine'BBMASK was added for 'xr-sm-engine'

Comment

BBMASK .= "|meta-rdk-video/recipes-extended/xr-sm-engine/"

rdkx-logger_1.0.bbmeta-rdk-voice-sdk

ERROR: rdkx-logger-1.0-gitAUTOINC+777c7f9a2f-r0 do_compile: oe_runmake failed


EXTRA_OECONF_append = " --enable-rdkv "

add above line in bbappend file in meta-cmf-raspberrypi

ctrlm-main.bbmeta-rdk-videoERROR: Failed to parse recipe: /mnt/home/mbaska691/vijith/mngr/meta-rdk-video/recipes-extended/ctrlm/ctrlm-main.bb

RDK_CPC_ROOT_GIT ?= "git://${RDK_GIT}/rdk/components/cpc

add in meta-cmf-raspberrypi conf/layer.conf file.

xraudio_1.0.bbmeta-rdk-voice-sdk

ERROR: xraudio-1.0-gitAUTOINC+ac4106d2ff-r0 do_compile: oe_runmake failed

| ../../git/src/xraudio.c: In function 'xraudio_thread_poll':

| ../../git/src/xraudio.c:2346:8: error: #error Need to add thread poll for resource management thread.



Add xraudio_1.0.bbappend file in meta-cmf-raspberrypi from mmeta-rdk-comcast-video layer
xr-speech-router_1.0.bbmeta-rdk-voice-sdk

| ERROR: oe_runmake failed

| ../../git/src/xrsr_protocol_ws.c: In function 'xrsr_ws_connect_new':

| ../../git/src/xrsr_protocol_ws.c:408:25: error: implicit declaration of function 'nopoll_conn_new_opts6' [-Werror=implicit-function-declaration]

missing nopoll_0.3.2.b232.bbappend file.Add nopoll_0.3.2.b232.bbappend present in meta-rdk-comcast-voice-sdkiin meta-cmf-raspberrypi
ctrlm-main.bbmeta-rdk-video

ERROR: ctrlm-main-1.0-r0 do_compile: oe_runmake failed

| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ctrlm_main.cpp:1898: error: undefined reference to 'ctrlm_vendor_network_factory(unsigned long, json_t*, std::map<unsigned char, ctrlm_obj_network_t*, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ctrlm_obj_network_t*> > >&)'


Add ctrlm recipes present in meta-rdk-comcast-video to meta-cmf-raspberrypi
ctrlm-main.bbmeta-rdk-video

ERROR: ctrlm-main-1.0-r0 do_compile: oe_runmake failed

| ../../git/src/ctrlm_main.cpp:63:52: fatal error: client/linux/handler/exception_handler.h: No such file or directory

|  #include "client/linux/handler/exception_handler.h"



Comment breakpad from ctrlm-main.bbappend

# Enable breakpad

#EXTRA_OECONF_append = " --enable-breakpad"


ctrlm-main.bbmeta-rdk-video

ERROR: ctrlm-main-1.0-r0 do_compile: oe_runmake failed

| ../../git/src/ctrlm_main.cpp: At global scope:
| ../../git/src/ctrlm_main.cpp:931:17: error: 'gboolean ctrlm_authservice_expired(gpointer)' defined but not used [-Werror=unused-function]
|  static gboolean ctrlm_authservice_expired(gpointer user_data) {
|                  ^~~~~~~~~~~~~~~~~~~~~~~~~
| cc1plus: all warnings being treated as errors


Temporary fix

AUTH ?= "false"

in ctrlm-main.bbappend file.

ctrlm-main.bbappendmeta-cmf-raspberrypi

DISTRO_FEATURES_append = " ctrlm_irdb_uei"

Added append resulted in error.

ERROR: ParseError at /mnt/home/mbaska691/vijith/mngr/meta-cmf-raspberrypi/recipes-extended/ctrlm/ctrlm-main.bbappend:4: Could not inherit file classes/ctrlm-irdb-uei.bbclass

missing ctrlm-irdb-uei.bbclass file.Add bbclass file from meta-rdk-comcast-video
ctrlm-irdb-uei.bbmeta-cmf-raspberrypiERROR: ctrlm-irdb-uei-1.0-r0 do_fetch: Function failed: base_do_fetch

missing configuration for package download.

which should be present in ctrlm-irdb-uei.bbappend file

Temporary Solution:

Added the corresponding bbappend file. 

meta-arrisxi6wv/recipes-extended/ctrlm/ctrlm-irdb-uei.bbappend

packagegroup-rdk-qt5.bb meta-rdkNothing RPROVIDES 'qtremoteobjects' 

Added

DISTRO_FEATURES_append = " comcast_qt5"

in meta-cmf-raspberrypi/conf/machine/raspberrypi-rdk-hybrid.conf

ctrlm-main.bbmeta-rdk-video

ERROR: ctrlm-main-1.0-r0 do_compile: oe_runmake failed

| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ble/ctrlm_hal_ble.cpp:1709: error: undefined reference to 'libevdev_new_from_fd'
| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ble/ctrlm_hal_ble.cpp:1714: error: undefined reference to 'libevdev_get_uniq'
| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ble/ctrlm_hal_ble.cpp:1720: error: undefined reference to 'libevdev_free'
| /usr/src/debug/ctrlm-main/1.0-r0/git/src/ble/ctrlm_hal_ble.cpp:1729: error: undefined reference to 'libevdev_free'


Added

LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'build_for_sky', ' -levdev', ' ', d)}"

in meta-cmf-raspberrypi/recipes-extended/ctrlm/ctrlm-main.bbappend


asbluetoothrcu.bbmeta-cmf-raspberrypi| CMake Error at CMakeLists.txt:24 (cmake_minimum_required):
|   CMake 3.10.3 or higher is required.  You are running version 3.8.2

added cmake_3.10.3.bb and related recipes to openembedded-core/meta/recipes-devtools/cmake/


msgpack-c_2.1.1.bbmeta-rdk-ext

ERROR: msgpack-c-2.1.1+gitAUTOINC+20ef1f925b-r0 do_compile

| /mnt/home/mbaska691/vijith/mngr/build-raspberrypi-rdk-hybrid/tmp/work/cortexa7t2hf-neon-vfpv4-rdk-linux-gnueabi/msgpack-c/2.1.1+gitAUTOINC+20ef1f925b-r0/git/test/carray.cpp:2:25: fatal error: gtest/gtest.h: No such file or directory
|  #include <gtest/gtest.h>
|                          ^
| compilation terminated.


Add


DEPENDS ="gtest" 

in meta-rdk-ext/recipes-support/msgpack/msgpack-c_2.1.1.bb


Image Validation

login as: root
root@raspberrypi-rdk-hybrid:~# systemctl start ctrlm-main
Job for ctrlm-main.service failed because the control process exited with error code.
See "systemctl status ctrlm-main.service" and "journalctl -xe" for details.
root@raspberrypi-rdk-hybrid:~# systemctl status ctrlm-main.service
● ctrlm-main.service - Control Manager Main Service
Loaded: loaded (/lib/systemd/system/ctrlm-main.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2021-05-21 15:55:10 UTC; 3s ago
Process: 7870 ExecStart=/usr/bin/controlMgr (code=exited, status=255)
Main PID: 7870 (code=exited, status=255)
May 21 15:55:10 raspberrypi-rdk-hybrid controlMgr[7870]: 20210521 15:55:10:754 XLOG xlog_init_int : module <XRTA> level <XLOG_LEVEL_INFO>
May 21 15:55:10 raspberrypi-rdk-hybrid controlMgr[7870]: 20210521 15:55:10:754 XLOG xlog_init_int : module <CTRLM> level <XLOG_LEVEL_INFO>
May 21 15:55:10 raspberrypi-rdk-hybrid controlMgr[7870]: 20210521 15:55:10:754 CTRLM : ctrlm_main: load version
May 21 15:55:10 raspberrypi-rdk-hybrid controlMgr[7870]: 20210521 15:55:10:754 CTRLM : ctrlm_load_version: STB Name <rdk-generic-hybrid-wpe-image> Image Type <DEV> Version <4.05.21.21> Branch <rdk-next> Build Time <"2021-05-21 12:14:42">
May 21 15:55:10 raspberrypi-rdk-hybrid controlMgr[7870]: 20210521 15:55:10:755 CTRLM :FATAL : ctrlm_main: failed to load version
May 21 15:55:10 raspberrypi-rdk-hybrid systemd[1]: ctrlm-main.service: Main process exited, code=exited, status=255/n/a
May 21 15:55:10 raspberrypi-rdk-hybrid controlMgr[7870]:
May 21 15:55:10 raspberrypi-rdk-hybrid systemd[1]: Failed to start Control Manager Main Service.
May 21 15:55:10 raspberrypi-rdk-hybrid systemd[1]: ctrlm-main.service: Unit entered failed state.
May 21 15:55:10 raspberrypi-rdk-hybrid systemd[1]: ctrlm-main.service: Failed with result 'exit-code'.
root@raspberrypi-rdk-hybrid:~#

Issue Observed

ISSUERemark
CTRLM :FATAL : ctrlm_main: failed to load version

Ticket in progress,

DELIA-49822

List of Components (morty , before opensourcing)

Component nameRecipe namePath
ctrlm

ctrlm-device-update.bb

ctrlm-irdb-ruwido.bb

ctrlm-irdb-uei.bb

ctrlm-main.bbappend

meta-rdk-comcast-video/recipes-extended/ctrlm
nopollnopoll_0.3.2.b232.bbappendmeta-rdk-comcast-voice-sdk/recipes-common/nopoll
rdkversionrdkversion_1.0.bbmeta-rdk-comcast/recipes-common/rdkversion
rdkx_loggerrdkx-logger_1.0.bbappendmeta-rdk-comcast-video/recipes-extended/rdkx_logger
xraudioxraudio_1.0.bbappendmeta-rdk-comcast-video/recipes-extended/xraudio
  • No labels