Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

       The following commands fetches the source code of turris 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

Jira
serverJIRA
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyREFPLTV-929

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/

454257

477819/

asbluetoothrcu
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


Qtbase bringup for controlMgr

https://gerrit.teamccp.com/plugins/gitiles/rdk/yocto_oe/layers/meta-qt5/+/stable2/recipes-qt/qt5/qtbase-5.1.1

List of patches included in the comcast meta-qt5.

Patches
0001-Add-linux-oe-g-platform.patch
0001-Backport-QDbus_Fix_of_Losing_Valid_DBus_Obj_After_UnregisterObject.patch
0001-Backport-QObject-Not-to-Destroy-SlotObject-inside-lock.patch
0001-backport-QAtomic-feature-enhacement.patch
0001-backport-QCommandLineParser-feature-addon.patch
0001-backport-QLoggingCategory-enhacement.patch
0001-backport-QLoggingCategory-feature-addon.patch
0001-backport-QVersionNumber-feature-from_addon.patch
0001-backport-qjsonvalue-toInt-function.patch
0001-fix_cmake_path_for_mkspec.patch
0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
0003-Add-external-hostbindir-option.patch
0004-qt_functions-temporary-remove-isEmpty-check.patch
0005-qmake-is-already-built-in-qtbase-native.patch
0006-Allow-building-a-separate-qmake-for-the-target.patch
0007-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch
0008-qt_module-Fix-pkgconfig-replacement.patch
0009-qt_module-Fix-paths-in-.prl-files.patch
0010-wayland-scanner-disable-silent-rules.patch
0011-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch
0012-configure.prf-Allow-to-add-extra-arguments-to-make.patch
0013-Disable-mkv8snapshot.patch
0014-enables-tslib-device-to-be-read-from-env-variable.patch
0015-qtbase-allow-build-of-examples.patch
0018-QOpenGLPaintDevice-sub-area-support.patch
0020-Use-BGRA-extension-in-bindTexture.patch
0021-configure-make-pulseaudio-a-configurable-option.patch
0022-configure-make-alsa-a-configurable-option.patch
0023-configure-make-freetype-a-configurable-option.patch
0024-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determine-pa.patch
0025-force-setting-of-MODULE_SYNCQT_DIR-correctly.patch
disable-printsupport.patch
qgetenv.patch
qt-5.1.1_qeglfs.patch
| 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.


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)

...