Hi,
I am trying to integrate the Google IoT Cloud example into my CoAP Server. The example is using Secure API to esablish COAPS.
I have enabled
CONFIG_OPENTHREAD_COAP=yCONFIG_OPENTHREAD_COAPS=yCONFIG_OPENTHREAD_JOINER=y#CONFIG_NORDIC_SECURITY_BACKEND=yCONFIG_BASE64=yCONFIG_MBEDTLS_BUILTIN=yCONFIG_OPENTHREAD_SLAAC=y
in my prj.conf
There seems to be a confusion about where to find the mbedtls_base64_encode() function
openthread/src/core/meshcop/dtls.cppIn file included from C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/common/code_utils.hpp:41, from C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/common/message.hpp:45, from C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/meshcop/dtls.hpp:55, from C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/meshcop/dtls.cpp:34:C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/meshcop/dtls.cpp: In member function 'ot::Error ot::MeshCoP::Dtls::GetPeerCertificateBase64(unsigned char*, size_t*, size_t)':C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/meshcop/dtls.cpp:528:9: error: 'mbedtls_base64_encode' was not declared in this scope 528 | mbedtls_base64_encode( | ^~~~~~~~~~~~~~~~~~~~~C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/common/arg_macros.hpp:77:40: note: in definition of macro '_OT_GET_FIRST_ARG' 77 | #define _OT_GET_FIRST_ARG(aFirst, ...) aFirst | ^~~~~~C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/common/code_utils.hpp:124:15: note: in expansion of macro 'OT_FIRST_ARG' 124 | if (!(OT_FIRST_ARG(__VA_ARGS__))) \ | ^~~~~~~~~~~~C:/nordic_sdk/v1.9.1/modules/lib/openthread/src/core/meshcop/dtls.cpp:527:5: note: in expansion of macro 'VerifyOrExit' 527 | VerifyOrExit( | ^~~~~~~~~~~~[165/833] Building CXX object modules/openthread/build/src/core/CMakeFiles/openthread-ftd.dir/meshcop/meshcop_leader.cpp.objninja: build stopped: subcommand failed.
Even though the CONFIG_BASE64=y should enable the MBEDTLS_BASE64_C the package does not get linked to.
