mlcommons / tiny

MLPerf™ Tiny is an ML benchmark suite for extremely low-power systems such as microcontrollers
https://mlcommons.org/en/groups/inference-tiny/
Apache License 2.0
331 stars 81 forks source link

Reference keyword recognition. Compilation error in ws_bootstrap_ffn.c #133

Closed nachtmann-iis closed 1 year ago

nachtmann-iis commented 1 year ago

Overview

I tried to reproduce the keyword recognition benchmark using the same hardware (Arduino Uno rev3, STM32-LPM01-XN_PowerShield, STM32-Nucleo-l4r5zi). I followed this guide up until the compilation of the exported model. The compilation failed with an exception related to the usage of tr_info in ws_bootstrap_ffn.c.

Environment

Windows 10 21H2 WSL 2 Ubuntu 22.04 python 3.8.x

Conda env

name: mbed
channels:
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - bzip2=1.0.8=h7f98852_4
  - ca-certificates=2022.9.24=ha878542_0
  - ld_impl_linux-64=2.39=hc81fddc_0
  - libffi=3.4.2=h7f98852_5
  - libgcc-ng=12.2.0=h65d4601_19
  - libgomp=12.2.0=h65d4601_19
  - libnsl=2.0.0=h7f98852_0
  - libsqlite=3.39.4=h753d276_0
  - libuuid=2.32.1=h7f98852_1000
  - libzlib=1.2.13=h166bdaf_4
  - ncurses=6.3=h27087fc_1
  - openssl=3.0.7=h166bdaf_0
  - pip=22.3=pyhd8ed1ab_0
  - python=3.8.13=ha86cf86_0_cpython
  - readline=8.1.2=h0f457ee_0
  - setuptools=65.5.0=pyhd8ed1ab_0
  - sqlite=3.39.4=h4ff8645_0
  - tk=8.6.12=h27826a3_0
  - wheel=0.37.1=pyhd8ed1ab_0
  - xz=5.2.6=h166bdaf_0
  - pip:
    - appdirs==1.4.4
    - beautifulsoup4==4.6.3
    - cbor==1.0.0
    - certifi==2022.9.24
    - cffi==1.15.1
    - charset-normalizer==2.1.1
    - click==7.1.2
    - cmsis-pack-manager==0.2.10
    - colorama==0.3.9
    - cryptography==3.4.8
    - fasteners==0.18
    - future==0.18.2
    - idna==2.7
    - intelhex==2.3.0
    - jinja2==3.1.2
    - jsonschema==2.6.0
    - junit-xml==1.8
    - lockfile==0.12.2
    - markupsafe==2.1.1
    - mbed-cli==1.10.5
    - mbed-greentea==1.8.14
    - mbed-host-tests==1.8.14
    - mbed-ls==1.8.14
    - mbed-os-tools==1.8.14
    - milksnake==0.1.5
    - prettytable==2.5.0
    - psutil==5.6.7
    - pycparser==2.21
    - pycryptodome==3.15.0
    - pyelftools==0.28
    - pyopenssl==21.0.0
    - pyserial==3.4
    - pyusb==1.2.1
    - pyyaml==6.0
    - requests==2.28.1
    - six==1.12.0
    - soupsieve==2.3.2.post1
    - urllib3==1.26.12
    - urllib3-secure-extra==0.1.0
    - wcwidth==0.2.5

Issue

after running setup_example.sh I continued with compiling the model into the binaries i'd like to upload by entering the following command into wsl

mbed compile -m NUCLEO_L4R5ZI -t GCC_ARM -v

The compilation succeeded up around 40% and I got the following error:

[mbed] Working path "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting" (library)
[mbed] Program path "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting"
[mbed] Exec "/home/nachtman/miniconda3/envs/mbed/bin/python3.8 -u /mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/make.py -t GCC_ARM -m NUCLEO_L4R5ZI --source . --build ./BUILD/NUCLEO_L4R5ZI/GCC_ARM -v" in "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting"
[Warning] @,: Compiler version mismatch: Have 10.3.1; expected version >= 9.0.0 and < 10.0.0
Building project keyword_spotting (NUCLEO_L4R5ZI, GCC_ARM)
Scan: keyword_spotting
....
....
Compile [ 39.7%]: ws_bootstrap_ffn.c
Compile: arm-none-eabi-gcc -c -std=gnu11 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -fmessage-length=0 -fno-exceptions -ffunction-sections -fdata-sections -funsigned-char -MMD -fomit-frame-pointer -Os -g -DMBED_TRAP_ERRORS_ENABLED=1 -DMBED_MINIMAL_PRINTF -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -DMBED_ROM_START=0x8000000 -DMBED_ROM_SIZE=0x200000 -DMBED_RAM_START=0x20000000 -DMBED_RAM_SIZE=0xa0000 -DTOOLCHAIN_GCC -DTARGET_STM32L4 -DDEVICE_STDIO_MESSAGES=1 -DMBED_TICKLESS -DDEVICE_SERIAL_ASYNCH=1 -DUSE_FULL_LL_DRIVER -DTARGET_LIKE_CORTEX_M4 -DDEVICE_PORTOUT=1 -DDEVICE_LPTICKER=1 -DTOOLCHAIN_GCC_ARM -DDEVICE_I2CSLAVE=1 -DDEVICE_PWMOUT=1 -DTARGET_MCU_STM32L4 -DTARGET_LIKE_MBED -DSTM32L4R5xx -D__CORTEX_M4 -DDEVICE_RESET_REASON=1 -DDEVICE_SERIAL_FC=1 -DDEVICE_CRC=1 -DDEVICE_I2C_ASYNCH=1 -DUSE_HAL_DRIVER -D__CMSIS_RTOS -DARM_MATH_CM4 -DDEVICE_PORTINOUT=1 -DTARGET_MCU_STM32 -DEXTRA_IDLE_STACK_REQUIRED -DDEVICE_INTERRUPTIN=1 -DDEVICE_SPISLAVE=1 -DDEVICE_SLEEP=1 -DTARGET_RTOS_M4_M7 -DTRANSACTION_QUEUE_SIZE_SPI=2 -DTARGET_FF_ARDUINO_UNO -DTARGET_M4 -DMBED_BUILD_TIMESTAMP=1667990396.8247628 -DTARGET_NAME=NUCLEO_L4R5ZI -DTARGET_STM -DDEVICE_RTC=1 -DTARGET_RELEASE -DDEVICE_PORTIN=1 -DDEVICE_SPI_ASYNCH=1 -DTARGET_NUCLEO_L4R5ZI -DDEVICE_ANALOGOUT=1 -DDEVICE_USBDEVICE=1 -DDEVICE_TRNG=1 -DDEVICE_ANALOGIN=1 -DTARGET_CORTEX_M -DTARGET_STM32L4R5ZI -DTARGET_STM32L4R5xI -D__MBED__=1 -D__MBED_CMSIS_RTOS_CM -DDEVICE_USTICKER=1 -D__FPU_PRESENT=1 -DDEVICE_I2C=1 -DDEVICE_WATCHDOG=1 -DDEVICE_SPI=1 -DCOMPONENT_FLASHIAP=1 -DDEVICE_MPU=1 -DTARGET_CORTEX -DDEVICE_SERIAL=1 -DDEVICE_CAN=1 -DDEVICE_FLASH=1 -DTARGET_MCU_STM32L4R5xI @./BUILD/NUCLEO_L4R5ZI/GCC_ARM/.includes_af75f1246208ed7c14125f18fb2517ec.txt -include ./BUILD/NUCLEO_L4R5ZI/GCC_ARM/mbed_config.h -MD -MF BUILD/NUCLEO_L4R5ZI/GCC_ARM/mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.d -o BUILD/NUCLEO_L4R5ZI/GCC_ARM/mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.o ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c
[Error] ws_bootstrap_ffn.c@278,95: expected ')' before 'PRIu64'
[Warning] ws_bootstrap_ffn.c@278,33: format '%s' expects a matching 'char *' argument [-Wformat=]
[Warning] ws_bootstrap_ffn.c@278,33: format '%hu' expects a matching 'int' argument [-Wformat=]
[Warning] ws_bootstrap_ffn.c@278,33: spurious trailing '%' in format [-Wformat=]
[Warning] ws_bootstrap_ffn.c@277,29: unused variable 'ret' [-Wunused-variable]
[Error] ws_bootstrap_ffn.c@311,102: expected ')' before 'PRIu64'
[Warning] ws_bootstrap_ffn.c@311,41: format '%s' expects a matching 'char *' argument [-Wformat=]
[Warning] ws_bootstrap_ffn.c@311,41: format '%ld' expects a matching 'long int' argument [-Wformat=]
[Warning] ws_bootstrap_ffn.c@311,41: format '%lu' expects a matching 'long unsigned int' argument [-Wformat=]
[Warning] ws_bootstrap_ffn.c@311,41: spurious trailing '%' in format [-Wformat=]
[Warning] ws_bootstrap_ffn.c@310,37: unused variable 'ret' [-Wunused-variable]
[DEBUG] Return: 1
[DEBUG] Output: In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
[DEBUG] Output:                  from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c: In function 'ws_bootstrap_ffn_dhcp_info_notify_cb':
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:95: error: expected ')' before 'PRIu64'
[DEBUG] Output:   278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
[DEBUG] Output:       |                                                                                               ^~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
[DEBUG] Output:   278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
[DEBUG] Output:       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:62: note: format string is defined here
[DEBUG] Output:   278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
[DEBUG] Output:       |                                                             ~^
[DEBUG] Output:       |                                                              |
[DEBUG] Output:       |                                                              char *
[DEBUG] Output: In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
[DEBUG] Output:                  from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: format '%hu' expects a matching 'int' argument [-Wformat=]
[DEBUG] Output:   278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
[DEBUG] Output:       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: spurious trailing '%' in format [-Wformat=]
[DEBUG] Output:   278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
[DEBUG] Output:       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:277:29: warning: unused variable 'ret' [-Wunused-variable]
[DEBUG] Output:   277 |                         int ret = ns_time_system_timezone_info_notify(&time_configuration);
[DEBUG] Output:       |                             ^~~
[DEBUG] Output: In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
[DEBUG] Output:                  from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:102: error: expected ')' before 'PRIu64'
[DEBUG] Output:   311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
[DEBUG] Output:       |                                                                                                      ^~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
[DEBUG] Output:   311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
[DEBUG] Output:       |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:56: note: format string is defined here
[DEBUG] Output:   311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
[DEBUG] Output:       |                                                       ~^
[DEBUG] Output:       |                                                        |
[DEBUG] Output:       |                                                        char *
[DEBUG] Output: In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
[DEBUG] Output:                  from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%ld' expects a matching 'long int' argument [-Wformat=]
[DEBUG] Output:   311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
[DEBUG] Output:       |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%lu' expects a matching 'long unsigned int' argument [-Wformat=]
[DEBUG] Output:   311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
[DEBUG] Output:       |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: spurious trailing '%' in format [-Wformat=]
[DEBUG] Output:   311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
[DEBUG] Output:       |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
[DEBUG] Output: ./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
[DEBUG] Output:   129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
[DEBUG] Output:       |                                                                               ^~~~~~~~~~~
[DEBUG] Output: ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:310:37: warning: unused variable 'ret' [-Wunused-variable]
[DEBUG] Output:   310 |                                 int ret = ns_time_system_time_write(network_time);
[DEBUG] Output:       |                                     ^~~
Traceback (most recent call last):
  File "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/toolchains/mbed_toolchain.py", line 558, in compile_queue
    self.compile_output([
  File "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/toolchains/mbed_toolchain.py", line 686, in compile_output
    raise ToolException(stderr)
tools.utils.ToolException: In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
                 from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c: In function 'ws_bootstrap_ffn_dhcp_info_notify_cb':
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:95: error: expected ')' before 'PRIu64'
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                                                                               ^~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:62: note: format string is defined here
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                                             ~^
      |                                                              |
      |                                                              char *
In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
                 from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: format '%hu' expects a matching 'int' argument [-Wformat=]
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: spurious trailing '%' in format [-Wformat=]
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:277:29: warning: unused variable 'ret' [-Wunused-variable]
  277 |                         int ret = ns_time_system_timezone_info_notify(&time_configuration);
      |                             ^~~
In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
                 from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:102: error: expected ')' before 'PRIu64'
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                                                                                      ^~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:56: note: format string is defined here
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                                       ~^
      |                                                        |
      |                                                        char *
In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
                 from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%ld' expects a matching 'long int' argument [-Wformat=]
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%lu' expects a matching 'long unsigned int' argument [-Wformat=]
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: spurious trailing '%' in format [-Wformat=]
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:310:37: warning: unused variable 'ret' [-Wunused-variable]
  310 |                                 int ret = ns_time_system_time_write(network_time);
      |                                     ^~~

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/make.py", line 74, in wrapped_build_project
    bin_file, update_file = build_project(
  File "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/build_api.py", line 618, in build_project
    objects = toolchain.compile_sources(resources, sorted(resources.get_file_paths(FileType.INC_DIR)))
  File "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/toolchains/mbed_toolchain.py", line 420, in compile_sources
    return self._compile_sources(resources, inc_dirs=inc_dirs)
  File "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/toolchains/mbed_toolchain.py", line 497, in _compile_sources
    return self.compile_queue(queue, objects)
  File "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/toolchains/mbed_toolchain.py", line 568, in compile_queue
    raise ToolException(err)
tools.utils.ToolException: In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
                 from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c: In function 'ws_bootstrap_ffn_dhcp_info_notify_cb':
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:95: error: expected ')' before 'PRIu64'
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                                                                               ^~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:62: note: format string is defined here
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                                             ~^
      |                                                              |
      |                                                              char *
In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
                 from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: format '%hu' expects a matching 'int' argument [-Wformat=]
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:278:33: warning: spurious trailing '%' in format [-Wformat=]
  278 |                         tr_info("Network Time configuration %s status:%"PRIu16" time stamp: %"PRIu64" deviation: %"PRId16" Time Zone: %"PRId16, ret == 0 ? "notified" : "notify FAILED", time_configuration.status, time_configuration.timestamp, time_configuration.deviation, time_configuration.timezone);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:277:29: warning: unused variable 'ret' [-Wunused-variable]
  277 |                         int ret = ns_time_system_timezone_info_notify(&time_configuration);
      |                             ^~~
In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
                 from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:102: error: expected ')' before 'PRIu64'
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                                                                                      ^~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:56: note: format string is defined here
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                                       ~^
      |                                                        |
      |                                                        char *
In file included from ./mbed-os/platform/mbed-trace/include/mbed-trace/ns_trace.h:35,
                 from ./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:22:
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%ld' expects a matching 'long int' argument [-Wformat=]
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: format '%lu' expects a matching 'long unsigned int' argument [-Wformat=]
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:311:41: warning: spurious trailing '%' in format [-Wformat=]
  311 |                                 tr_info("Network Time %s: Era:%"PRId32" Offset:%"PRIu32" old time: %"PRIu64" time: %"PRIu64, ret == 0 ? "updated" : "update FAILED", era, offset, current_time, network_time);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~
./mbed-os/platform/mbed-trace/include/mbed-trace/mbed_trace.h:129:79: note: in definition of macro 'tr_info'
  129 | #define tr_info(...)            mbed_tracef(TRACE_LEVEL_INFO,    TRACE_GROUP, __VA_ARGS__)   //!< Print info message
      |                                                                               ^~~~~~~~~~~
./mbed-os/connectivity/nanostack/sal-stack-nanostack/source/6LoWPAN/ws/ws_bootstrap_ffn.c:310:37: warning: unused variable 'ret' [-Wunused-variable]
  310 |                                 int ret = ns_time_system_time_write(network_time);
      |                                     ^~~

[mbed] ERROR: "/home/nachtman/miniconda3/envs/mbed/bin/python3.8" returned error.
       Code: 1
       Path: "/mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting"
       Command: "/home/nachtman/miniconda3/envs/mbed/bin/python3.8 -u /mnt/c/Users/nachtman/Repositories/mixed_projects/ml_benchmark/tiny-0.7/benchmark/reference_submissions/keyword_spotting/mbed-os/tools/make.py -t GCC_ARM -m NUCLEO_L4R5ZI --source . --build ./BUILD/NUCLEO_L4R5ZI/GCC_ARM -v"
nachtmann-iis commented 1 year ago

The issue still persists. I'm currently trying to docker everything in order to narrow down the exact issue for this behavior here is my current configuration.

version: '3.9'

services:

  keyword_spotting_compile:
    image: ghcr.io/armmbed/mbed-os-env:master-2021.12.25T04.23.51
    command: 
      - /bin/bash
      - -c
      - |
        cd /app/reference_submissions/keyword_spotting
        ln -s /usr/bin/make /usr/bin/gmake
        apt update
        apt install unzip curl -y
        ./setup_example.sh
        mbed compile -m NUCLEO_L4R5ZI -t GCC_ARM -v

    volumes:
      - .\tiny-0.7\benchmark:/app