You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Introduction

Upgrading Turris-Omnia Reference Platform for Yocto 3.1 ie., from morty to dunfell

Considerations for broadband & extender build:

  • OpenEmbedded and Yocto Dunfell.
  • Linux kernel 4.14.
  • Version upgrades for bitbake and other oe recipes(if needed).

Environment Setup

  • Host- environment

Start with the core-image-minimal build, for generating the rdk-generic-broadband-image

Build instructions for core-image-minimal,

  • repo init -u https://code.rdkcentral.com/r/manifests -m rdkb-turris-extsrc.xml  -b  yocto-dunfell-upgrade
  • repo sync -j4 --no-clone-bundle
  • MACHINE=turris source meta-turris/setup-environment 
  • bitbake core-image-minimal

Once the core-image-minimal build is completed, 

  • bitbake rdk-generic-broadband-image

Start resolving all the errors that is being faced during the build

Error Handling

For rdk-generic-broadband image,

Error/warningLayer/ReciepeFixRemarks

ERROR: Nothing PROVIDES 'wireless-tools'

meta-rdk-opensync

meta-rdk

In opensync_1.4.0.bb, remove wireless-tools from depends 

And in packagegroup-rdk-oss-broadband.bb, remove wireless-tools for dunfell branch

wireless-tools is not there in yocto-3.1

ERROR: Nothing PROVIDES 'bridge-utils-native'

ERROR: Nothing PROVIDES 'virtual/kernel-native'

meta-virtualization

openvswitch_git.bb

upgraded from 2.6.3 to 2.13

Add,
DEPENDS_remove = "virtual/kernel bridge-utils"
DEPENDS_append_class-target = " virtual/kernel"
DEPENDS_append_class-target = " bridge-utils"
Building the dependencies only for the target , not for the narive
ERROR: Nothing RPROVIDES 'cpp-symlinks'

ERROR: Nothing RPROVIDES 'cpp'

meta-openembedded

python3-pycparser_2.19.bb
Add,
RDEPENDS_${PN}_class-target_remove = " cpp cpp-symlinks"
cpp and cpp-symlinks recipes are not present in 3.1

ERROR: mosquitto-1.4.8-r0 do_compile: oe_runmake failed

security_default.c:773:13: error: storage size of 'context' isn't known

meta-rdk-ext

mosquitto_1.4.8.bb

In rdk.conf

Include preferred version of mosquitto with 1.6.9


make: *** No targets specified and no makefile found. Stop.
ERROR: oe_runmake failed

meta-rdk-broadband

ccsp-common-library.bb

change source directory by including,

S = "${WORKDIR}/ccsp-common-library-yocto-dunfell-upgrade+git${SRCPV}"


error: dereferencing pointer to incomplete type 'SSL' {aka 'struct ssl_st'}

error: 'SSL_ST_OK' undeclared (first use in this function); did you mean 'TLS_ST_OK'?

meta-rdk-broadband

ccsp-common-library.bb

remove "SSL_ST_OK" 
(that has been removed for openssl version 1.1.0g)

error: 'void* memcpy(void*, const void*, size_t)' 
copying an object of non-trivial type
msgpack-c

Reference:

https://github.com/msgpack/msgpack-c/pull/659/commits/a05d92ae85024d0648f69f95307a1d3e8e51109c


undefined reference to `SSLeay_add_all_algorithms'
collect2: error: ld returned 1 exit status

meta-rdk-broadband

utopia.bb

In user_openssl.c,

Add condition for the function,

#if OPENSSL_VERSION_NUMBER < 0x10100000L
#endif


fatal error: cJSON.h: No such file or directory

meta-rdk-broadband

utopia.bb, ccsp-psm.bb

meta-rdk-ext, ccsp-tr069-pa.bb

wdmp-c_1.0.bb

meta-rdk

dca_git.bb


In apply_system_defaults.c, wdmp_internal.c, wdmp-c.c, 

cosa_x_cisco_com_mta_apis.h, libpd.c, ssp_cfmif.c, dcautils.h, dca.c,
ssp_ccsp_cwmp_cfg.c

add the path for header file, 

#include "cjson/cJSON.h"


error: format '%ld' expects argument of type 'long int', but argument 8 has type 'time_t'

meta-rdk-opensync

opensync_1.4.0.bb

In sm_survey_report.c,

change long int to long long int


error: 'strncpy' output truncated before terminating nul copying 23 bytes from a string of the same length

meta-rdk-ext

wrp-c_1.0.bb

In wrp-c.c,

change strncpy with memcpy


error: implicit declaration of function 'strnlen' 'gmtime_r'

'localtime_r' , 'asctime_r'

error: nested extern declaration of 'gmtime_r' , 'localtime_r' , 'asctime_r'
error: assignment to 'struct tm * restrict' from 'int' makes pointer from integer without a cast

meta-openembedded

safec_3.5.bb

In safec_3.5.bb

Add, CFLAGS += " -D_POSIX_C_SOURCE"



error: implicit declaration of function 'explicit_bzero'

meta-openembedded

safec_3.5.bb

In memzero_s.c,
Add, #undef HAVE_EXPLICIT_ZERO

configure: error: Package requirements (openssl >= 1.0.1f) were not met:
No package 'openssl' found

meta-rdk-broadband

sso.bb

In sso.bbappend 

Add openssl in depends


Patch 0001-DELIA-19972-Dibbler-client-crash-in-checkDecline.patch does not apply

meta-openembedded

dibbler_git.bb

In dibbler_%.bbappend

Remove the patch file included.


checking for and configuring transport modules to use... configure: error: IPv6 transports not available if IPv6 support is not enabled

meta-openembedded 

net-snmp_5.8.bb

Reference:
https://gerrit.teamccp.com/#/c/370872/

checking for /etc/printcap... configure: error: cannot check for file existence when cross compiling

meta-openembedded 

net-snmp_5.8.bb



aclocal: error: couldn't open directory 'cfg': No such file or directory

Reference:
https://gerrit.teamccp.com/#/c/370872/

fatal error: avro.h: No such file or directory

meta-rdk-broadband

ccsp-wifi-agent.bb

In ccsp-wifi-agent.bbappend 
Add, DEPENDS += "avro-c"

undefined reference to symbol 'breakpad_ExceptionHandler'

error adding symbols: DSO missing from command line

meta-rdk-broadband

ccsp-epon-agent.bb,

ccsp-eth-agent.bb

In respective recipes, 

Add, 

LDFLAGS += " -lbreakpadwrapper"

error: storage size of 'ctx' isn't known

meta-rdk-broadband

ccsp-p-and-m.bb, 

ccsp-tr069-pa.bb

Reference:
https://gerrit.teamccp.com/#/c/369816/

undefined reference to `syscfg_get'

meta-rdk-broadband

ccsp-eth-agent.bb


In ccsp-eth-agent.bb

Add -lsyscfg in LDFLAGS_append, 


fatal error: uuid/uuid.h: No such file or directory

meta-rdk-ext

miniupnpd_2.1.bb

In miniupnpd_2.1.bb 
Add, DEPENDS += "util-linux"

dibbler-1.0.1/scripts/notify-scripts/client-notify-bsd.sh': No such file or directory

meta-openembedded

dibbler_git.bb

In dibbler_%.bb

Change the installation path of the client-notify-bsd.sh


Flashing procedure

            Turris Omnia Reference Platform: Flashing Instruction

  • No labels