Failed to define MBEDTLS_X509_CRT_WRITE_C even after adding appropriate configs in prj.conf file

Hello,

I am having nRF9160 with modem FW = 1.3.6 and nrf sdk version 2.7.0

I am using MBEDTLS library for generating self-signed & CSR certificates with EC-Key and RSA key. I am adding following configs in my prj.conf file

    MBEDTLS_X509_CSR_WRITE_C
    MBEDTLS_X509_CREATE_C
    MBEDTLS_ENTROPY_C
    MBEDTLS_CTR_DRBG_C
    MBEDTLS_PK_WRITE_C
    MBEDTLS_ZEPHYR_ENTROPY
    MBEDTLS
    MBEDTLS_ENABLE_HEAP
    MBEDTLS_TLS_LIBRARY
    MBEDTLS_X509_LIBRARY
    NRF_SECURITY_ADVANCED
    NORDIC_SECURITY_BACKEND
    MBEDTLS_DHM_C
    MBEDTLS_ECDH_C
    MBEDTLS_ECDSA_C
    MBEDTLS_ECP_C
    MBEDTLS_ECJPAKE_C
    MBEDTLS_GCM_C
    MBEDTLS_CIPHER_C
    MBEDTLS_RSA_C
    PSA_WANT_RSA_KEY_SIZE_2048
Even after enabling this configs MBEDTLS_X509_CRT_WRITE_C is not getting enabled in autoconf.h file. Because of this I am not able to compile the code and go ahead.
Can you please suggest probable reason or steps to get this resolved.
Parents
  • Attaching my compilation logs for your reference

    [268/399] Building CXX object CMakeFiles/app.dir/src/CertStoreMgnr/CertStoreMgnr.cpp.obj
    FAILED: CMakeFiles/app.dir/src/CertStoreMgnr/CertStoreMgnr.cpp.obj 
    ccache zephyr-sdk-0.16.5-1/arm-zephyr-eabi/bin/arm-zephyr-eabi-g++ -DAPP_VERSION=v2.7.0 -DKERNEL -DK_HEAP_MEM_POOL_SIZE=16384 -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DMBEDTLS_PSA_CRYPTO_CONFIG -DMBEDTLS_PSA_CRYPTO_CONFIG_FILE=\"nrf-psa-crypto-want-config.h\" -DMBEDTLS_PSA_CRYPTO_USER_CONFIG_FILE=\"nrf-psa-crypto-config.h\" -DNRF9160_XXAA -DNRF_SKIP_FICR_NS_COPY_TO_RAM -DNRF_TRUSTZONE_NONSECURE -DTFM_PSA_API -DUSE_PARTITION_MANAGER=1 -DZCBOR_ASSERTS -D_ANSI_SOURCE -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -I_dev//src/Sockets/. -I_dev//src/Common/ATJSON/. -I_dev//src/Common/BuildInfo/. -I_dev//src/Common/UART/. -I_dev//src/Common/Version/. -I_dev//src/Common/CertMgmt/. -I_dev//src/Common/. -I_dev//src/ExtFlash/. -I_dev//src/CertStoreMgnr/. -I_dev//src/. -I_dev/zephyr/include -I_dev//build/zephyr/include/generated -I_dev/modules/soc-hwmv1/soc/arm/nordic_nrf/nrf91 -I_dev/zephyr/lib/libc/newlib/include -I_dev/zephyr/include/zephyr/posix -I_dev/modules/soc-hwmv1/soc/arm/nordic_nrf/common/. -I_dev/nrf/include -I_dev/nrf/lib/at_cmd_parser/include -I_dev//build/tfm/api_ns/interface/include -I_dev/nrf/modules/trusted-firmware-m/. -I_dev/nrf/include/tfm -I_dev/nrf/tests/include -I_dev/modules/hal/cmsis/CMSIS/Core/Include -I_dev/zephyr/modules/cmsis/. -I_dev/modules/hal/nordic/nrfx -I_dev/modules/hal/nordic/nrfx/drivers/include -I_dev/modules/hal/nordic/nrfx/mdk -I_dev/zephyr/modules/hal_nordic/nrfx/. -I_dev/modules/debug/segger/SEGGER -I_dev/modules/debug/segger/Config -I_dev/modules/lib/zcbor/include -I_dev/nrfxlib/nrf_modem/include -I_dev//build/modules/nrf/subsys/nrf_security/src/include/generated -I_dev/nrf/subsys/nrf_security/include -I_dev/modules/crypto/oberon-psa-crypto/include -I_dev/modules/crypto/oberon-psa-crypto/library -I_dev/modules/crypto/mbedtls/library -I_dev/modules/crypto/mbedtls/include -I_dev/modules/crypto/mbedtls/include/library -I_dev/nrfxlib/crypto/nrf_oberon/include/mbedtls -I_dev/nrfxlib/crypto/nrf_oberon/include -isystem _dev/zephyr/lib/libc/common/include -fno-strict-aliasing -Og -fcheck-new -std=c++11 -fno-rtti -imacros _dev//build/zephyr/include/generated/autoconf.h -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfp16-format=ieee --sysroot=zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi -imacros _dev/zephyr/include/zephyr/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wdouble-promotion -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -fno-pic -fno-pie -fno-asynchronous-unwind-tables -fno-reorder-functions --param=min-pagesize=0 -fno-defer-pop -fmacro-prefix-map=_dev/=CMAKE_SOURCE_DIR -fmacro-prefix-map=_dev/zephyr=ZEPHYR_BASE -fmacro-prefix-map=_dev=WEST_TOPDIR -ffunction-sections -fdata-sections -D_POSIX_THREADS -MD -MT CMakeFiles/app.dir/src/CertStoreMgnr/CertStoreMgnr.cpp.obj -MF CMakeFiles/app.dir/src/CertStoreMgnr/CertStoreMgnr.cpp.obj.d -o CMakeFiles/app.dir/src/CertStoreMgnr/CertStoreMgnr.cpp.obj -c _dev//src/CertStoreMgnr/CertStoreMgnr.cpp
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp: In static member function 'static bool CertStoreMgnr::GenerateSelfSignedCertificate(certificateGenerationInfo_t*, mbedtls_pk_context*, mbedtls_ctr_drbg_context*, mbedtls_entropy_context*, CertData_t*)':
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1027:5: error: 'mbedtls_x509write_crt_init' was not declared in this scope; did you mean 'mbedtls_x509write_csr_init'?
     1027 |     mbedtls_x509write_crt_init(&crt);
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
          |     mbedtls_x509write_csr_init
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1038:13: error: 'mbedtls_x509write_crt_set_serial' was not declared in this scope; did you mean 'mbedtls_x509write_csr_set_md_alg'?
     1038 |         if (mbedtls_x509write_crt_set_serial(&crt, &serial) != 0)
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             mbedtls_x509write_csr_set_md_alg
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1046:13: error: 'mbedtls_x509write_crt_set_version' was not declared in this scope; did you mean 'mbedtls_x509write_csr_set_extension'?
     1046 |             mbedtls_x509write_crt_set_version(&crt, MBEDTLS_X509_CRT_VERSION_3);
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             mbedtls_x509write_csr_set_extension
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1047:13: error: 'mbedtls_x509write_crt_set_md_alg' was not declared in this scope; did you mean 'mbedtls_x509write_csr_set_md_alg'?
     1047 |             mbedtls_x509write_crt_set_md_alg(&crt, MBEDTLS_MD_SHA256);
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             mbedtls_x509write_csr_set_md_alg
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1048:13: error: 'mbedtls_x509write_crt_set_subject_key' was not declared in this scope; did you mean 'mbedtls_x509write_csr_set_subject_name'?
     1048 |             mbedtls_x509write_crt_set_subject_key(&crt, key);
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             mbedtls_x509write_csr_set_subject_name
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1049:13: error: 'mbedtls_x509write_crt_set_issuer_key' was not declared in this scope; did you mean 'mbedtls_x509write_csr_set_key'?
     1049 |             mbedtls_x509write_crt_set_issuer_key(&crt, key);
          |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |             mbedtls_x509write_csr_set_key
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1054:17: error: 'mbedtls_x509write_crt_set_validity' was not declared in this scope; did you mean 'mbedtls_x509write_csr_set_key'?
     1054 |             if (mbedtls_x509write_crt_set_validity(&crt, validFrom.c_str(), validTo.c_str()) != 0)
          |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                 mbedtls_x509write_csr_set_key
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1067:21: error: 'mbedtls_x509write_crt_set_subject_name' was not declared in this scope; did you mean 'mbedtls_x509write_csr_set_subject_name'?
     1067 |                 if (mbedtls_x509write_crt_set_subject_name(&crt, subjectName.c_str()) != 0)
          |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                     mbedtls_x509write_csr_set_subject_name
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1074:25: error: 'mbedtls_x509write_crt_set_issuer_name' was not declared in this scope; did you mean 'mbedtls_x509write_csr_set_subject_name'?
     1074 |                     if (mbedtls_x509write_crt_set_issuer_name(&crt, subjectName.c_str()) != 0)
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          |                         mbedtls_x509write_csr_set_subject_name
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1087:27: error: 'mbedtls_x509write_crt_pem' was not declared in this scope; did you mean 'mbedtls_x509write_csr_pem'?
     1087 |                 int ret = mbedtls_x509write_crt_pem(&crt, (unsigned char *)(pCertData->certData), sizeof(pCertData->certData), mbedtls_ctr_drbg_random, ctr_drbg);
          |                           ^~~~~~~~~~~~~~~~~~~~~~~~~
          |                           mbedtls_x509write_csr_pem
    _dev//src/CertStoreMgnr/CertStoreMgnr.cpp:1105:5: error: 'mbedtls_x509write_crt_free' was not declared in this scope; did you mean 'mbedtls_x509write_csr_free'?
     1105 |     mbedtls_x509write_crt_free(&crt);
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
          |     mbedtls_x509write_csr_free
    [289/397] Building CXX object CMakeFiles/app.dir/src/Common/ATJSON/AtJsonCommander.cpp.obj
    In file included from zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:67,
                     from zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/vector:60,
                     from _dev//src/Sockets/./listenSockets.h:19,
                     from _dev//src/Common/ATJSON/AtJsonCommander.cpp:14:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_iterator.h: In function '_Iterator std::__niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container>) [with _Iterator = const nlohmann::json_abi_v3_11_2::basic_json<>*; _Container = vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_iterator.h:1353:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
     1353 |     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
          |     ^~~~~~~~~~~~
    In file included from zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/map:60,
                     from _dev//src/Common/ATJSON/./json.hpp:164,
                     from _dev//src/Common/ATJSON/./AtJson.h:21,
                     from _dev//src/Sockets/./listenSockets.h:20:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h: In member function 'std::pair<std::_Rb_tree_node_base*, std::_Rb_tree_node_base*> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_hint_unique_pos(const_iterator, const key_type&) [with _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h:2209:5: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > > >::const_iterator' changed in GCC 7.1
     2209 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h: In member function 'void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_erase_aux(const_iterator) [with _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h:2488:5: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > > >::const_iterator' changed in GCC 7.1
     2488 |     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::erase(iterator) [with _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h:1209:21: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > > >::const_iterator' changed in GCC 7.1
     1209 |         _M_erase_aux(__position);
          |         ~~~~~~~~~~~~^~~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h: In function 'bool std::__equal_aux(_II1, _II1, _II2) [with _II1 = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >; _II2 = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1216:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
     1216 |     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
          |     ^~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1216:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1216:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
    In function 'bool std::equal(_II1, _II1, _II2) [with _II1 = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >; _II2 = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >]',
        inlined from 'bool std::operator==(const vector<_Tp, _Alloc>&, const vector<_Tp, _Alloc>&) [with _Tp = nlohmann::json_abi_v3_11_2::basic_json<>; _Alloc = allocator<nlohmann::json_abi_v3_11_2::basic_json<> >]' at zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_vector.h:2037:21:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1555:30: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
     1555 |       return std::__equal_aux(__first1, __last1, __first2);
          |              ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h: In static member function 'static bool std::__equal<_BoolType>::equal(_II1, _II1, _II2) [with _II1 = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _II2 = std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; bool _BoolType = false]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1158:9: note: parameter passing for argument of type 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >' changed in GCC 7.1
     1158 |         equal(_II1 __first1, _II1 __last1, _II2 __first2)
          |         ^~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1158:9: note: parameter passing for argument of type 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >' changed in GCC 7.1
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1158:9: note: parameter passing for argument of type 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >' changed in GCC 7.1
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h: In function 'bool std::__equal_aux(_II1, _II1, _II2) [with _II1 = _Rb_tree_const_iterator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _II2 = _Rb_tree_const_iterator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1216:5: note: parameter passing for argument of type 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >' changed in GCC 7.1
     1216 |     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
          |     ^~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1216:5: note: parameter passing for argument of type 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >' changed in GCC 7.1
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1216:5: note: parameter passing for argument of type 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >' changed in GCC 7.1
    In function 'bool std::__equal_aux1(_II1, _II1, _II2) [with _II1 = _Rb_tree_const_iterator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _II2 = _Rb_tree_const_iterator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]',
        inlined from 'bool std::__equal_aux(_II1, _II1, _II2) [with _II1 = _Rb_tree_const_iterator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _II2 = _Rb_tree_const_iterator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]' at zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1218:31:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1210:43: note: parameter passing for argument of type 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >' changed in GCC 7.1
     1210 |       return std::__equal<__simple>::equal(__first1, __last1, __first2);
          |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In function 'bool std::equal(_II1, _II1, _II2) [with _II1 = _Rb_tree_const_iterator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _II2 = _Rb_tree_const_iterator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]',
        inlined from 'bool std::operator==(const _Rb_tree<__cxx11::basic_string<char>, pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >, _Select1st<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >, less<__cxx11::basic_string<char> >, allocator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > > >&, const _Rb_tree<__cxx11::basic_string<char>, pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >, _Select1st<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >, less<__cxx11::basic_string<char> >, allocator<pair<const __cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > > >&)' at zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h:1607:17:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_algobase.h:1555:30: note: parameter passing for argument of type 'std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >' changed in GCC 7.1
     1555 |       return std::__equal_aux(__first1, __last1, __first2);
          |              ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h: In member function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, std::tuple<>}; _Key = std::__cxx11::basic_string<char>; _Val = std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >; _KeyOfValue = std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_tree.h:2457:7: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > > >::const_iterator' changed in GCC 7.1
     2457 |       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
          |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/map:61:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_map.h: In member function 'std::map<_Key, _Tp, _Compare, _Alloc>::mapped_type& std::map<_Key, _Tp, _Compare, _Alloc>::operator[](const key_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = nlohmann::json_abi_v3_11_2::basic_json<>; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_map.h:511:44: note: parameter passing for argument of type 'std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> >, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, nlohmann::json_abi_v3_11_2::basic_json<> > > >::const_iterator' changed in GCC 7.1
      511 |           __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
          |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      512 |                                             std::tuple<const key_type&>(__k),
          |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      513 |                                             std::tuple<>());
          |                                             ~~~~~~~~~~~~~~~
    In file included from zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/vector:64:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_vector.h: In member function 'std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator) [with _Tp = nlohmann::json_abi_v3_11_2::basic_json<>; _Alloc = std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> >]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_vector.h:1529:7: note: parameter passing for argument of type 'std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > >::const_iterator' changed in GCC 7.1
     1529 |       erase(const_iterator __position)
          |       ^~~~~
    _dev//src/Common/ATJSON/./json.hpp: In member function 'IteratorType nlohmann::json_abi_v3_11_2::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass>::erase(IteratorType) [with IteratorType = nlohmann::json_abi_v3_11_2::detail::iter_impl<nlohmann::json_abi_v3_11_2::basic_json<> >; typename std::enable_if<(std::is_same<InputIT, nlohmann::json_abi_v3_11_2::detail::iter_impl<nlohmann::json_abi_v3_11_2::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass> > >::value || std::is_same<InputIT, nlohmann::json_abi_v3_11_2::detail::iter_impl<const nlohmann::json_abi_v3_11_2::basic_json<ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass> > >::value), int>::type <anonymous> = 0; ObjectType = std::map; ArrayType = std::vector; StringType = std::__cxx11::basic_string<char>; BooleanType = bool; NumberIntegerType = long long int; NumberUnsignedType = long long unsigned int; NumberFloatType = double; AllocatorType = std::allocator; JSONSerializer = nlohmann::json_abi_v3_11_2::adl_serializer; BinaryType = std::vector<unsigned char>; CustomBaseClass = void]':
    _dev//src/Common/ATJSON/./json.hpp:21691:66: note: parameter passing for argument of type 'std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > >::const_iterator' changed in GCC 7.1
    21691 |                 result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
          |                                              ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/vector:63:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h: In function '_ForwardIterator std::__do_uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >; _ForwardIterator = nlohmann::json_abi_v3_11_2::basic_json<>*]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
      113 |     __do_uninit_copy(_InputIterator __first, _InputIterator __last,
          |     ^~~~~~~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h:113:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h: In function '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >; _ForwardIterator = nlohmann::json_abi_v3_11_2::basic_json<>*]':
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h:163:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
      163 |     uninitialized_copy(_InputIterator __first, _InputIterator __last,
          |     ^~~~~~~~~~~~~~~~~~
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h:163:5: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
    In static member function 'static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >; _ForwardIterator = nlohmann::json_abi_v3_11_2::basic_json<>*; bool _TrivialValueTypes = false]',
        inlined from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >; _ForwardIterator = nlohmann::json_abi_v3_11_2::basic_json<>*]' at zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h:185:15:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h:137:39: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
      137 |         { return std::__do_uninit_copy(__first, __last, __result); }
          |                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    In function '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, vector<nlohmann::json_abi_v3_11_2::basic_json<>, allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >; _ForwardIterator = nlohmann::json_abi_v3_11_2::basic_json<>*; _Tp = nlohmann::json_abi_v3_11_2::basic_json<>]',
        inlined from 'std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = nlohmann::json_abi_v3_11_2::basic_json<>; _Alloc = std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> >]' at zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_vector.h:601:31:
    zephyr-sdk-0.16.5-1/arm-zephyr-eabi/arm-zephyr-eabi/include/c++/12.2.0/bits/stl_uninitialized.h:372:37: note: parameter passing for argument of type '__gnu_cxx::__normal_iterator<const nlohmann::json_abi_v3_11_2::basic_json<>*, std::vector<nlohmann::json_abi_v3_11_2::basic_json<>, std::allocator<nlohmann::json_abi_v3_11_2::basic_json<> > > >' changed in GCC 7.1
      372 |       return std::uninitialized_copy(__first, __last, __result);
          |              ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
    ninja: build stopped: subcommand failed.
    FATAL ERROR: command exited with status 1: /usr/bin/cmake --build _dev//build
    
     *  The terminal process "/bin/bash '-c', 'sh -c 'BUILD_ARGS=$(python3 _dev//imageMetadataUtil.py -type local) && west build --board  --pristine=auto --no-sysbuild -- -DNCS_TOOLCHAIN_VERSION:STRING=NONE -DBOARD_ROOT:STRING=_dev/ -DCONFIG_DEBUG_OPTIMIZATIONS:STRING=y -DCONFIG_DEBUG_THREAD_INFO:STRING=y -DCONF_FILE:STRING=_dev//prj.conf -DDTC_OVERLAY_FILE:STRING=_dev//app.overlay $BUILD_ARGS && echo Build flags = $BUILD_ARGS''" terminated with exit code: 1. 

  • Hi,

    Do you use PSA? Can you check what happens when you add Kconfig options shown below?

    CONFIG_MBEDTLS_USE_PSA_CRYPTO=y
    CONFIG_MBEDTLS_PK_PARSE_C=y
    CONFIG_MBEDTLS_LEGACY_CRYPTO_C=y
    


    Best regards,
    Dejan

Reply Children
No Data
Related