Build errors in COAP client/server apps

Hi, I am getting this strange error when building these apps.

[817/827] Linking CXX executable zephyr\zephyr_pre0.elf
FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map
cmd.exe /C "cd . && C:\ncs\toolchains\v2.0.0\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-g++.exe @CMakeFiles\zephyr_pre0.rsp -o zephyr\zephyr_pre0.elf && cmd.exe /C "cd /D C:\nrfwork\coap_client\build\zephyr && C:\ncs\toolchains\v2.0.0\opt\bin\cmake.exe -E echo ""
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessStats(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:356: undefined reference to `otPlatDiagModeGet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessStop(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:387: undefined reference to `otPlatDiagModeGet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:390: undefined reference to `otPlatDiagModeSet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessRadio(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:425: undefined reference to `otPlatDiagModeGet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:437: undefined reference to `otPlatDiagChannelSet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:438: undefined reference to `otPlatDiagTxPowerSet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessStart(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:335: undefined reference to `otPlatDiagChannelSet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:336: undefined reference to `otPlatDiagTxPowerSet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:343: undefined reference to `otPlatDiagModeSet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessRepeat(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:264: undefined reference to `otPlatDiagModeGet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessChannel(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:207: undefined reference to `otPlatDiagModeGet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:222: undefined reference to `otPlatDiagChannelSet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessPower(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:236: undefined reference to `otPlatDiagModeGet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:250: undefined reference to `otPlatDiagTxPowerSet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessSend(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:304: undefined reference to `otPlatDiagModeGet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::ProcessCmd(unsigned char, char**, char*, unsigned int)':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:627: undefined reference to `otPlatDiagModeGet'
c:/ncs/toolchains/v2.0.0/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.exe: modules/openthread/build/src/core/libopenthread-mtd.a(factory_diags.cpp.obj): in function `ot::FactoryDiags::Diags::IsEnabled()':
C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp:660: undefined reference to `otPlatDiagModeGet'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'c:\ncs\toolchains\v2.0.0\opt\bin\cmake.EXE' --build 'c:\nrfwork\coap_client\build'

I am using SDK 2.0.0

What I have tried

1. Have added 

CONFIG_OPENTHREAD_NORDIC_LIBRARY_MTD=y to the prj.conf as indicated in https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_configuring.html
CONFIG_OPENTHREAD_MTD=y
2. Have added overlay-mtd.conf
None of them seems to help.
When I looked into C:\ncs\v2.0.0\modules\lib\openthread\src\core\diags\factory_diags.cpp, the #if OPENTHREAD_CONFIG_DIAG_ENABLE seems to be disabled. Nowhere in https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/openthread/coap_client/README.html I see that this has to be enabled. I even tried adding 'CONFIG_OPENTHREAD_CONFIG_DIAG_ENABLE=y' to prj.conf, which resulted in build failure in kconfig. 
I cant think why this build issue right out of the box. Please help.
Thanks,
Parents Reply Children
No Data
Related