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

Related