This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

App not compiling with both CC310 backend and mbedtls enabled in NCS

Hi all,

I'm trying to use one of the built in sha256 libraries. As I've enabled the CONFIG_NRF_CC3XX_PLATFORM and CONFIG_NORDIC_SECURITY_BACKEND I thought I would pick this up. I'm using CC3XX to grab some entropy via nrf_cc3xx_platform_entropy_get in my app already elsewhere.

With just these options selected, my app compiles but fails to link due to missing mbedtls_sha256_ methods. Error below:-

[build] [289/297  96% :: 8.462] Linking CXX executable zephyr\zephyr_prebuilt.elf
[build] FAILED: zephyr/zephyr_prebuilt.elf 
[build] cmd.exe /C "cd . && c:\gnuarmemb\bin\arm-none-eabi-g++.exe -g  zephyr/CMakeFiles/zephyr_prebuilt.dir/misc/empty_file.c.obj -o zephyr\zephyr_prebuilt.elf  -Wl,-T  zephyr/linker.cmd  -Wl,-Map=D:/git/skunkworks/herald-for-cpp/herald-wearable/build/zephyr/zephyr_prebuilt.map  -Wl,--whole-archive  app/libapp.a  zephyr/libzephyr.a  zephyr/arch/common/libarch__common.a  zephyr/arch/arch/arm/core/aarch32/libarch__arm__core__aarch32.a  zephyr/arch/arch/arm/core/aarch32/cortex_m/libarch__arm__core__aarch32__cortex_m.a  zephyr/arch/arch/arm/core/aarch32/cortex_m/mpu/libarch__arm__core__aarch32__cortex_m__mpu.a  zephyr/arch/arch/arm/core/aarch32/cortex_m/cmse/libarch__arm__core__aarch32__cortex_m__cmse.a  zephyr/lib/libc/newlib/liblib__libc__newlib.a  zephyr/lib/posix/liblib__posix.a  zephyr/soc/arm/common/cortex_m/libsoc__arm__common__cortex_m.a  zephyr/boards/boards/arm/nrf5340dk_nrf5340_cpuapp/libboards__arm__nrf5340dk_nrf5340.a  zephyr/subsys/bluetooth/common/libsubsys__bluetooth__common.a  zephyr/subsys/bluetooth/host/libsubsys__bluetooth__host.a  zephyr/subsys/net/libsubsys__net.a  zephyr/drivers/gpio/libdrivers__gpio.a  zephyr/drivers/ipm/libdrivers__ipm.a  zephyr/drivers/serial/libdrivers__serial.a  modules/nrf/lib/fatal_error/lib..__nrf__lib__fatal_error.a  modules/nrf/drivers/hw_cc310/lib..__nrf__drivers__hw_cc310.a  modules/nrfxlib/nrf_security/src/mbedtls/libmbedtls_base_vanilla.a  modules/nordic/lib..__modules__hal__nordic.a  modules/libmetal/libmetal/lib/libmetal.a  modules/open-amp/open-amp/lib/libopen_amp.a  -Wl,--no-whole-archive  zephyr/kernel/libkernel.a  zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj  -L"d:/devtools/ncs/v1.4.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v8-m.main/nofp"  -LD:/git/skunkworks/herald-for-cpp/herald-wearable/build/zephyr  -lgcc  -Wl,--print-memory-usage  zephyr/arch/common/libisr_tables.a  modules/nrfxlib/nrf_security/src/mbedtls/shared/libmbedcrypto_shared.a  modules/nrfxlib/nrf_security/src/mbedtls/cc310/libmbedcrypto_cc3xx.a  D:/devtools/ncs/v1.4.2/nrfxlib/crypto/nrf_cc312_platform/lib/cortex-m33/soft-float/no-interrupts/libnrf_cc312_platform_0.9.4.a  -mcpu=cortex-m33  -mthumb  -mabi=aapcs  -Wl,--gc-sections  -Wl,--build-id=none  -Wl,--sort-common=descending  -Wl,--sort-section=alignment  -Wl,-u,_OffsetAbsSyms  -Wl,-u,_ConfigAbsSyms  -nostdlib  -static  -no-pie  -Wl,-X  -Wl,-N  -Wl,--orphan-handling=warn  -lstdc++  -lm  -lc  -lgcc  -L"D:/devtools/ncs/v1.4.0/toolchain/opt/arm-none-eabi"/lib/thumb/v8-m.main/nofp  -specs=nano.specs && cd ."
[build] Memory region         Used Size  Region Size  %age Used
[build]            FLASH:      329621 B         1 MB     31.44%
[build]             SRAM:      217544 B       448 KB     47.42%
[build]         IDT_LIST:         104 B         2 KB      5.08c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(sha256.cpp.obj): in function `herald::datatype::SHA256::digest(herald::datatype::Data const&)':
[build] D:/git/skunkworks/herald-for-cpp/herald/src/datatype/mbedtls/sha256.cpp:74: undefined reference to `mbedtls_sha256_starts'
[build] c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld.exe: D:/git/skunkworks/herald-for-cpp/herald/src/datatype/mbedtls/sha256.cpp:94: undefined reference to `mbedtls_sha256_update'
[build] c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/../../../../arm-none-eabi/bin/ld.exe: D:/git/skunkworks/herald-for-cpp/herald/src/datatype/mbedtls/sha256.cpp:99: undefined reference to `mbedtls_sha256_finish'
[build] collect2.exe: error: ld returned 1 exit status
[build] %
[build] ninja: build stopped: subcommand failed.
[build] Build finished with exit code 1

Thinking I needed a full-fledged mbedtls implementation I also tried enabling CONFIG_MBEDTLS=y. This gives me the below API incompatibilities between Zephyr's mbedtls and Nordic's mbedtls.

Can you please point me in the right direction to get at these simple sha256 functions, or an alternative (as 'secure' as possible please)? I'm sure there's a Nordic specific config entry I just cannot find, but the solution escapes me. This is preventing release of v1.2 of Herald's C++ API. (For wearable digital contact tracing).

All help gratefully received. I'd really prefer not to grab a random lightweight software sha256 library if I can help it. TIA.

Source code is here: https://github.com/adamfowleruk/herald-for-cpp/blob/feature-21/herald/src/datatype/mbedtls/sha256.cpp

App make file is here (Don't ask why its so complex...): https://github.com/adamfowleruk/herald-for-cpp/blob/feature-21/herald-wearable/CMakeLists.txt

Board config file is here (there are others included too): https://github.com/adamfowleruk/herald-for-cpp/blob/feature-21/config/zephyr/nRF5340.conf

Compile error is here (with both config settings enabled):

[build] [314/378  75% :: 7.073] Building C object modules/mbedtls/CMakeFiles/..__modules__crypto__mbedtls.dir/library/md.c.obj
[build] FAILED: modules/mbedtls/CMakeFiles/..__modules__crypto__mbedtls.dir/library/md.c.obj 
[build] D:\devtools\ncs\v1.4.0\toolchain\opt\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.4.0-ncs2 -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DNRF5340_XXAA_APPLICATION -DUSE_PARTITION_MANAGER=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -ID:/devtools/ncs/v1.4.2/zephyr/include -Izephyr/include/generated -ID:/devtools/ncs/v1.4.2/zephyr/soc/arm/nordic_nrf/nrf53 -ID:/devtools/ncs/v1.4.2/zephyr/lib/libc/newlib/include -ID:/devtools/ncs/v1.4.2/zephyr/subsys/usb -ID:/devtools/ncs/v1.4.2/zephyr/subsys/settings/include -ID:/devtools/ncs/v1.4.2/zephyr/subsys/bluetooth -ID:/devtools/ncs/v1.4.2/nrf/include -ID:/devtools/ncs/v1.4.2/nrfxlib/crypto/nrf_cc312_mbedcrypto/include/mbedtls -ID:/devtools/ncs/v1.4.2/nrfxlib/crypto/nrf_cc312_mbedcrypto/include -Imodules/nrfxlib/nrf_security/include -Imodules/nrfxlib/nrf_security/include/mbedtls_generated -ID:/devtools/ncs/v1.4.2/mbedtls/include -ID:/devtools/ncs/v1.4.2/mbedtls/include/mbedtls -ID:/devtools/ncs/v1.4.2/modules/hal/cmsis/CMSIS/Core/Include -ID:/devtools/ncs/v1.4.2/modules/hal/nordic/nrfx -ID:/devtools/ncs/v1.4.2/modules/hal/nordic/nrfx/drivers/include -ID:/devtools/ncs/v1.4.2/modules/hal/nordic/nrfx/mdk -ID:/devtools/ncs/v1.4.2/modules/hal/nordic/. -Imodules/libmetal/libmetal/lib/include -ID:/devtools/ncs/v1.4.2/modules/lib/open-amp/open-amp/lib/include -ID:/devtools/ncs/v1.4.2/modules/debug/segger/rtt -ID:/devtools/ncs/v1.4.2/modules/crypto/tinycrypt/lib/include -ID:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/include -ID:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/configs -isystem D:/devtools/ncs/v1.4.2/nrfxlib/crypto/nrf_cc312_platform/include -g -Os -imacros D:/git/skunkworks/herald-for-cpp/herald-wearable/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mcpu=cortex-m33 -mthumb -mabi=aapcs -imacros D:/devtools/ncs/v1.4.2/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=D:/git/skunkworks/herald-for-cpp/herald-wearable=CMAKE_SOURCE_DIR -fmacro-prefix-map=D:/devtools/ncs/v1.4.2/zephyr=ZEPHYR_BASE -fmacro-prefix-map=D:/devtools/ncs/v1.4.2=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=c99 -MD -MT modules/mbedtls/CMakeFiles/..__modules__crypto__mbedtls.dir/library/md.c.obj -MF modules\mbedtls\CMakeFiles\..__modules__crypto__mbedtls.dir\library\md.c.obj.d -o modules/mbedtls/CMakeFiles/..__modules__crypto__mbedtls.dir/library/md.c.obj -c D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_free':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:213:21: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'ctx_free_func'
[build]   213 |         ctx->md_info->ctx_free_func( ctx->md_ctx );
[build]       |                     ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_clone':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:235:17: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'clone_func'
[build]   235 |     dst->md_info->clone_func( dst->md_ctx, src->md_ctx );
[build]       |                 ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_setup':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:252:32: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'ctx_alloc_func'
[build]   252 |     if( ( ctx->md_ctx = md_info->ctx_alloc_func() ) == NULL )
[build]       |                                ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:260:20: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'ctx_free_func'
[build]   260 |             md_info->ctx_free_func( ctx->md_ctx );
[build]       |                    ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_starts':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:275:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
[build]   275 |     return( ctx->md_info->starts_func( ctx->md_ctx ) );
[build]       |                         ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_update':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:283:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
[build]   283 |     return( ctx->md_info->update_func( ctx->md_ctx, input, ilen ) );
[build]       |                         ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_finish':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:291:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'finish_func'
[build]   291 |     return( ctx->md_info->finish_func( ctx->md_ctx, output ) );
[build]       |                         ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:300:20: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'digest_func'
[build]   300 |     return( md_info->digest_func( input, ilen, output ) );
[build]       |                    ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_starts':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:356:33: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
[build]   356 |         if( ( ret = ctx->md_info->starts_func( ctx->md_ctx ) ) != 0 )
[build]       |                                 ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:358:33: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
[build]   358 |         if( ( ret = ctx->md_info->update_func( ctx->md_ctx, key, keylen ) ) != 0 )
[build]       |                                 ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:360:33: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'finish_func'
[build]   360 |         if( ( ret = ctx->md_info->finish_func( ctx->md_ctx, sum ) ) != 0 )
[build]       |                                 ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:379:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
[build]   379 |     if( ( ret = ctx->md_info->starts_func( ctx->md_ctx ) ) != 0 )
[build]       |                             ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:381:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
[build]   381 |     if( ( ret = ctx->md_info->update_func( ctx->md_ctx, ipad,
[build]       |                             ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_update':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:396:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
[build]   396 |     return( ctx->md_info->update_func( ctx->md_ctx, input, ilen ) );
[build]       |                         ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_finish':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:410:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'finish_func'
[build]   410 |     if( ( ret = ctx->md_info->finish_func( ctx->md_ctx, tmp ) ) != 0 )
[build]       |                             ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:412:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
[build]   412 |     if( ( ret = ctx->md_info->starts_func( ctx->md_ctx ) ) != 0 )
[build]       |                             ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:414:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
[build]   414 |     if( ( ret = ctx->md_info->update_func( ctx->md_ctx, opad,
[build]       |                             ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:417:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
[build]   417 |     if( ( ret = ctx->md_info->update_func( ctx->md_ctx, tmp,
[build]       |                             ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:420:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'finish_func'
[build]   420 |     return( ctx->md_info->finish_func( ctx->md_ctx, output ) );
[build]       |                         ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_reset':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:433:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
[build]   433 |     if( ( ret = ctx->md_info->starts_func( ctx->md_ctx ) ) != 0 )
[build]       |                             ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:435:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
[build]   435 |     return( ctx->md_info->update_func( ctx->md_ctx, ipad,
[build]       |                         ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_process':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:473:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'process_func'
[build]   473 |     return( ctx->md_info->process_func( ctx->md_ctx, data ) );
[build]       |                         ^~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_starts':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:276:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   276 | }
[build]       | ^
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_update':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:284:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   284 | }
[build]       | ^
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_finish':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:292:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   292 | }
[build]       | ^
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:301:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   301 | }
[build]       | ^
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_update':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:397:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   397 | }
[build]       | ^
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_finish':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:421:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   421 | }
[build]       | ^
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_reset':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:437:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   437 | }
[build]       | ^
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_process':
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:474:1: warning: control reaches end of non-void function [-Wreturn-type]
[build]   474 | }
[build]       | ^
[build] [314/378  75% :: 7.085] Building C object modules/mbedtls/CMakeFiles/..__modules__crypto__mbedtls.dir/library/md_wrap.c.obj
[build] FAILED: modules/mbedtls/CMakeFiles/..__modules__crypto__mbedtls.dir/library/md_wrap.c.obj 
[build] D:\devtools\ncs\v1.4.0\toolchain\opt\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.4.0-ncs2 -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DNRF5340_XXAA_APPLICATION -DUSE_PARTITION_MANAGER=1 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR__=1 -ID:/devtools/ncs/v1.4.2/zephyr/include -Izephyr/include/generated -ID:/devtools/ncs/v1.4.2/zephyr/soc/arm/nordic_nrf/nrf53 -ID:/devtools/ncs/v1.4.2/zephyr/lib/libc/newlib/include -ID:/devtools/ncs/v1.4.2/zephyr/subsys/usb -ID:/devtools/ncs/v1.4.2/zephyr/subsys/settings/include -ID:/devtools/ncs/v1.4.2/zephyr/subsys/bluetooth -ID:/devtools/ncs/v1.4.2/nrf/include -ID:/devtools/ncs/v1.4.2/nrfxlib/crypto/nrf_cc312_mbedcrypto/include/mbedtls -ID:/devtools/ncs/v1.4.2/nrfxlib/crypto/nrf_cc312_mbedcrypto/include -Imodules/nrfxlib/nrf_security/include -Imodules/nrfxlib/nrf_security/include/mbedtls_generated -ID:/devtools/ncs/v1.4.2/mbedtls/include -ID:/devtools/ncs/v1.4.2/mbedtls/include/mbedtls -ID:/devtools/ncs/v1.4.2/modules/hal/cmsis/CMSIS/Core/Include -ID:/devtools/ncs/v1.4.2/modules/hal/nordic/nrfx -ID:/devtools/ncs/v1.4.2/modules/hal/nordic/nrfx/drivers/include -ID:/devtools/ncs/v1.4.2/modules/hal/nordic/nrfx/mdk -ID:/devtools/ncs/v1.4.2/modules/hal/nordic/. -Imodules/libmetal/libmetal/lib/include -ID:/devtools/ncs/v1.4.2/modules/lib/open-amp/open-amp/lib/include -ID:/devtools/ncs/v1.4.2/modules/debug/segger/rtt -ID:/devtools/ncs/v1.4.2/modules/crypto/tinycrypt/lib/include -ID:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/include -ID:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/configs -isystem D:/devtools/ncs/v1.4.2/nrfxlib/crypto/nrf_cc312_platform/include -g -Os -imacros D:/git/skunkworks/herald-for-cpp/herald-wearable/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mcpu=cortex-m33 -mthumb -mabi=aapcs -imacros D:/devtools/ncs/v1.4.2/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=D:/git/skunkworks/herald-for-cpp/herald-wearable=CMAKE_SOURCE_DIR -fmacro-prefix-map=D:/devtools/ncs/v1.4.2/zephyr=ZEPHYR_BASE -fmacro-prefix-map=D:/devtools/ncs/v1.4.2=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=c99 -MD -MT modules/mbedtls/CMakeFiles/..__modules__crypto__mbedtls.dir/library/md_wrap.c.obj -MF modules\mbedtls\CMakeFiles\..__modules__crypto__mbedtls.dir\library\md_wrap.c.obj.d -o modules/mbedtls/CMakeFiles/..__modules__crypto__mbedtls.dir/library/md_wrap.c.obj -c D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:398:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
[build]   398 |     MBEDTLS_MD_SHA1,
[build]       |     ^~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:398:5: note: (near initialization for 'mbedtls_sha1_info.name')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:399:5: error: incompatible types when initializing type 'enum <anonymous>' using type 'char *'
[build]   399 |     "SHA1",
[build]       |     ^~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:402:5: warning: excess elements in struct initializer
[build]   402 |     sha1_starts_wrap,
[build]       |     ^~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:402:5: note: (near initialization for 'mbedtls_sha1_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:403:5: warning: excess elements in struct initializer
[build]   403 |     sha1_update_wrap,
[build]       |     ^~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:403:5: note: (near initialization for 'mbedtls_sha1_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:404:5: warning: excess elements in struct initializer
[build]   404 |     sha1_finish_wrap,
[build]       |     ^~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:404:5: note: (near initialization for 'mbedtls_sha1_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:405:5: warning: excess elements in struct initializer
[build]   405 |     mbedtls_sha1_ret,
[build]       |     ^~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:405:5: note: (near initialization for 'mbedtls_sha1_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:406:5: warning: excess elements in struct initializer
[build]   406 |     sha1_ctx_alloc,
[build]       |     ^~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:406:5: note: (near initialization for 'mbedtls_sha1_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:407:5: warning: excess elements in struct initializer
[build]   407 |     sha1_ctx_free,
[build]       |     ^~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:407:5: note: (near initialization for 'mbedtls_sha1_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:408:5: warning: excess elements in struct initializer
[build]   408 |     sha1_clone_wrap,
[build]       |     ^~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:408:5: note: (near initialization for 'mbedtls_sha1_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:409:5: warning: excess elements in struct initializer
[build]   409 |     sha1_process_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:409:5: note: (near initialization for 'mbedtls_sha1_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:472:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
[build]   472 |     MBEDTLS_MD_SHA224,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:472:5: note: (near initialization for 'mbedtls_sha224_info.name')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:473:5: error: incompatible types when initializing type 'enum <anonymous>' using type 'char *'
[build]   473 |     "SHA224",
[build]       |     ^~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:476:5: warning: excess elements in struct initializer
[build]   476 |     sha224_starts_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:476:5: note: (near initialization for 'mbedtls_sha224_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:477:5: warning: excess elements in struct initializer
[build]   477 |     sha224_update_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:477:5: note: (near initialization for 'mbedtls_sha224_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:478:5: warning: excess elements in struct initializer
[build]   478 |     sha224_finish_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:478:5: note: (near initialization for 'mbedtls_sha224_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:479:5: warning: excess elements in struct initializer
[build]   479 |     sha224_wrap,
[build]       |     ^~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:479:5: note: (near initialization for 'mbedtls_sha224_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:480:5: warning: excess elements in struct initializer
[build]   480 |     sha224_ctx_alloc,
[build]       |     ^~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:480:5: note: (near initialization for 'mbedtls_sha224_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:481:5: warning: excess elements in struct initializer
[build]   481 |     sha224_ctx_free,
[build]       |     ^~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:481:5: note: (near initialization for 'mbedtls_sha224_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:482:5: warning: excess elements in struct initializer
[build]   482 |     sha224_clone_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:482:5: note: (near initialization for 'mbedtls_sha224_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:483:5: warning: excess elements in struct initializer
[build]   483 |     sha224_process_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:483:5: note: (near initialization for 'mbedtls_sha224_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:498:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
[build]   498 |     MBEDTLS_MD_SHA256,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:498:5: note: (near initialization for 'mbedtls_sha256_info.name')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:499:5: error: incompatible types when initializing type 'enum <anonymous>' using type 'char *'
[build]   499 |     "SHA256",
[build]       |     ^~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:502:5: warning: excess elements in struct initializer
[build]   502 |     sha256_starts_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:502:5: note: (near initialization for 'mbedtls_sha256_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:503:5: warning: excess elements in struct initializer
[build]   503 |     sha224_update_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:503:5: note: (near initialization for 'mbedtls_sha256_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:504:5: warning: excess elements in struct initializer
[build]   504 |     sha224_finish_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:504:5: note: (near initialization for 'mbedtls_sha256_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:505:5: warning: excess elements in struct initializer
[build]   505 |     sha256_wrap,
[build]       |     ^~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:505:5: note: (near initialization for 'mbedtls_sha256_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:506:5: warning: excess elements in struct initializer
[build]   506 |     sha224_ctx_alloc,
[build]       |     ^~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:506:5: note: (near initialization for 'mbedtls_sha256_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:507:5: warning: excess elements in struct initializer
[build]   507 |     sha224_ctx_free,
[build]       |     ^~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:507:5: note: (near initialization for 'mbedtls_sha256_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:508:5: warning: excess elements in struct initializer
[build]   508 |     sha224_clone_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:508:5: note: (near initialization for 'mbedtls_sha256_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:509:5: warning: excess elements in struct initializer
[build]   509 |     sha224_process_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:509:5: note: (near initialization for 'mbedtls_sha256_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:569:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
[build]   569 |     MBEDTLS_MD_SHA384,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:569:5: note: (near initialization for 'mbedtls_sha384_info.name')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:570:5: error: incompatible types when initializing type 'enum <anonymous>' using type 'char *'
[build]   570 |     "SHA384",
[build]       |     ^~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:573:5: warning: excess elements in struct initializer
[build]   573 |     sha384_starts_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:573:5: note: (near initialization for 'mbedtls_sha384_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:574:5: warning: excess elements in struct initializer
[build]   574 |     sha384_update_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:574:5: note: (near initialization for 'mbedtls_sha384_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:575:5: warning: excess elements in struct initializer
[build]   575 |     sha384_finish_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:575:5: note: (near initialization for 'mbedtls_sha384_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:576:5: warning: excess elements in struct initializer
[build]   576 |     sha384_wrap,
[build]       |     ^~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:576:5: note: (near initialization for 'mbedtls_sha384_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:577:5: warning: excess elements in struct initializer
[build]   577 |     sha384_ctx_alloc,
[build]       |     ^~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:577:5: note: (near initialization for 'mbedtls_sha384_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:578:5: warning: excess elements in struct initializer
[build]   578 |     sha384_ctx_free,
[build]       |     ^~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:578:5: note: (near initialization for 'mbedtls_sha384_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:579:5: warning: excess elements in struct initializer
[build]   579 |     sha384_clone_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:579:5: note: (near initialization for 'mbedtls_sha384_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:580:5: warning: excess elements in struct initializer
[build]   580 |     sha384_process_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:580:5: note: (near initialization for 'mbedtls_sha384_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:595:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
[build]   595 |     MBEDTLS_MD_SHA512,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:595:5: note: (near initialization for 'mbedtls_sha512_info.name')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:596:5: error: incompatible types when initializing type 'enum <anonymous>' using type 'char *'
[build]   596 |     "SHA512",
[build]       |     ^~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:599:5: warning: excess elements in struct initializer
[build]   599 |     sha512_starts_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:599:5: note: (near initialization for 'mbedtls_sha512_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:600:5: warning: excess elements in struct initializer
[build]   600 |     sha384_update_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:600:5: note: (near initialization for 'mbedtls_sha512_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:601:5: warning: excess elements in struct initializer
[build]   601 |     sha384_finish_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:601:5: note: (near initialization for 'mbedtls_sha512_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:602:5: warning: excess elements in struct initializer
[build]   602 |     sha512_wrap,
[build]       |     ^~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:602:5: note: (near initialization for 'mbedtls_sha512_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:603:5: warning: excess elements in struct initializer
[build]   603 |     sha384_ctx_alloc,
[build]       |     ^~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:603:5: note: (near initialization for 'mbedtls_sha512_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:604:5: warning: excess elements in struct initializer
[build]   604 |     sha384_ctx_free,
[build]       |     ^~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:604:5: note: (near initialization for 'mbedtls_sha512_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:605:5: warning: excess elements in struct initializer
[build]   605 |     sha384_clone_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:605:5: note: (near initialization for 'mbedtls_sha512_info')
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:606:5: warning: excess elements in struct initializer
[build]   606 |     sha384_process_wrap,
[build]       |     ^~~~~~~~~~~~~~~~~~~
[build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:606:5: note: (near initialization for 'mbedtls_sha512_info')
[build] [314/378  82% :: 7.551] Building C object zephyr/subsys/bluetooth/host/CMakeFiles/subsys__bluetooth__host.dir/hci_core.c.obj
[build] ninja: build stopped: subcommand failed.
[build] Build finished with exit code 1

Parents Reply Children
  • Using your config as a starting point I've found the below are required for the warnings about missing config items to disappear:-

    CONFIG_NRF_CC3XX_PLATFORM=y
    CONFIG_NORDIC_SECURITY_BACKEND=y
    CONFIG_NRF_SECURITY_RNG=y
    CONFIG_ENTROPY_GENERATOR=y
    
    # Simple Payload support BEGINS
    # Option 1: MBEDTLS
    CONFIG_MBEDTLS_VANILLA_BACKEND=y
    CONFIG_MBEDTLS_MAC_SHA256_ENABLED=y
    CONFIG_MBEDTLS=y
    CONFIG_MBEDTLS_BUILTIN=y
    CONFIG_MBEDTLS_CFG_FILE="config-tls-generic.h"
    

    But I get the original errors around the mbedtls library:-

    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:499:5: error: incompatible types when initializing type 'enum <anonymous>' using type 'char *'
    [build]   499 |     "SHA256",
    [build]       |     ^~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:502:5: warning: excess elements in struct initializer
    [build]   502 |     sha256_starts_wrap,
    [build]       |     ^~~~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:502:5: note: (near initialization for 'mbedtls_sha256_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:503:5: warning: excess elements in struct initializer
    [build]   503 |     sha224_update_wrap,
    [build]       |     ^~~~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:503:5: note: (near initialization for 'mbedtls_sha256_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:504:5: warning: excess elements in struct initializer
    [build]   504 |     sha224_finish_wrap,
    [build]       |     ^~~~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:504:5: note: (near initialization for 'mbedtls_sha256_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:505:5: warning: excess elements in struct initializer
    [build]   505 |     sha256_wrap,
    [build]       |     ^~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:505:5: note: (near initialization for 'mbedtls_sha256_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:506:5: warning: excess elements in struct initializer
    [build]   506 |     sha224_ctx_alloc,
    [build]       |     ^~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:506:5: note: (near initialization for 'mbedtls_sha256_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:507:5: warning: excess elements in struct initializer
    [build]   507 |     sha224_ctx_free,
    [build]       |     ^~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:507:5: note: (near initialization for 'mbedtls_sha256_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:508:5: warning: excess elements in struct initializer
    [build]   508 |     sha224_clone_wrap,
    [build]       |     ^~~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:508:5: note: (near initialization for 'mbedtls_sha256_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:509:5: warning: excess elements in struct initializer
    [build]   509 |     sha224_process_wrap,
    [build]       |     ^~~~~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:509:5: note: (near initialization for 'mbedtls_sha256_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:569:5: warning: initialization of 'const char *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    [build]   569 |     MBEDTLS_MD_SHA384,
    [build]       |     ^~~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:569:5: note: (near initialization for 'mbedtls_sha384_info.name')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:570:5: error: incompatible types when initializing type 'enum <anonymous>' using type 'char *'
    [build]   570 |     "SHA384",
    [build]       |     ^~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:573:5: warning: excess elements in struct initializer
    [build]   573 |     sha384_starts_wrap,
    [build]       |     ^~~~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:573:5: note: (near initialization for 'mbedtls_sha384_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:574:5: warning: excess elements in struct initializer
    [build]   574 |     sha384_update_wrap,
    [build]       |     ^~~~~~~~~~~~~~~~~~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:574:5: note: (near initialization for 'mbedtls_sha384_info')
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md_wrap.c:575:5: warning: excess elements in struct initializer
    [build]   575 |     sha384_finish_wrap,
    [build]       |     ^~~~~~~~~~~~~~~~~~
    
    And then later...
    
    
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md':
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:300:20: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'digest_func'
    [build]   300 |     return( md_info->digest_func( input, ilen, output ) );
    [build]       |                    ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_starts':
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:356:33: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
    [build]   356 |         if( ( ret = ctx->md_info->starts_func( ctx->md_ctx ) ) != 0 )
    [build]       |                                 ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:358:33: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
    [build]   358 |         if( ( ret = ctx->md_info->update_func( ctx->md_ctx, key, keylen ) ) != 0 )
    [build]       |                                 ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:360:33: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'finish_func'
    [build]   360 |         if( ( ret = ctx->md_info->finish_func( ctx->md_ctx, sum ) ) != 0 )
    [build]       |                                 ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:379:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
    [build]   379 |     if( ( ret = ctx->md_info->starts_func( ctx->md_ctx ) ) != 0 )
    [build]       |                             ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:381:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
    [build]   381 |     if( ( ret = ctx->md_info->update_func( ctx->md_ctx, ipad,
    [build]       |                             ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_update':
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:396:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
    [build]   396 |     return( ctx->md_info->update_func( ctx->md_ctx, input, ilen ) );
    [build]       |                         ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_finish':
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:410:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'finish_func'
    [build]   410 |     if( ( ret = ctx->md_info->finish_func( ctx->md_ctx, tmp ) ) != 0 )
    [build]       |                             ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:412:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
    [build]   412 |     if( ( ret = ctx->md_info->starts_func( ctx->md_ctx ) ) != 0 )
    [build]       |                             ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:414:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
    [build]   414 |     if( ( ret = ctx->md_info->update_func( ctx->md_ctx, opad,
    [build]       |                             ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:417:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
    [build]   417 |     if( ( ret = ctx->md_info->update_func( ctx->md_ctx, tmp,
    [build]       |                             ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:420:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'finish_func'
    [build]   420 |     return( ctx->md_info->finish_func( ctx->md_ctx, output ) );
    [build]       |                         ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_hmac_reset':
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:433:29: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'starts_func'
    [build]   433 |     if( ( ret = ctx->md_info->starts_func( ctx->md_ctx ) ) != 0 )
    [build]       |                             ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:435:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'update_func'
    [build]   435 |     return( ctx->md_info->update_func( ctx->md_ctx, ipad,
    [build]       |                         ^~
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c: In function 'mbedtls_md_process':
    [build] D:/devtools/ncs/v1.4.2/modules/crypto/mbedtls/library/md.c:473:25: error: 'mbedtls_md_info_t' {aka 'const struct mbedtls_md_info_t'} has no member named 'process_func'
    [build]   473 |     return( ctx->md_info->process_func( ctx->md_ctx, data ) );
    [build]       |                         ^~

    Any thoughts?

  • So this configuration allowed me to build and still allows me to call

    nrf_cc3xx_platform_entropy_get(buf,buflen,&olen);

    #CONFIG_NRF_CC3XX_PLATFORM=y
    #CONFIG_CC3XX_BACKEND=y
    #CONFIG_NORDIC_SECURITY_BACKEND=y
    CONFIG_NRF_SECURITY_RNG=y
    CONFIG_ENTROPY_GENERATOR=y
    
    # Simple Payload support BEGINS
    # Option 1: MBEDTLS
    CONFIG_MBEDTLS_VANILLA_BACKEND=y
    CONFIG_MBEDTLS_MAC_SHA256_ENABLED=y
    CONFIG_MBEDTLS=y
    CONFIG_MBEDTLS_BUILTIN=y
    CONFIG_MBEDTLS_CFG_FILE="config-tls-generic.h"

    I now have a runtime issue which may or may not be in the sha256 code. I'll investigate further and let you know if this has resolved my issue. Thanks!

  • This seems to have resolved my issue. It won't run - but that's entirely my own bug! Libraries are now compiling, linking, and executing fine. Thanks for your help!

Related