I am encountering a build error while setting up a build environment.
Can you provide assistance as to what the issue I am encountering may be?
I am using VSCode on MacOS Tahoe Lake to build and flash a BM15C module.
The SDK/toolchain is set to nRF Connect SDK 3.1.1.
The board target is set to nrf54l15dk/nrf54l15/cpuapp.
The system build is set to use sysbuild.
When using the nRF Connect terminal and the 'west flash --erase' command, this is the output (indented):
Working directory: /Users/davidsnelling/Workspace/fw-Gen2_Locks/build
SDK: nRF Connect SDK v3.1.1
Toolchain: nRF Connect SDK Toolchain v3.1.1
davidsnelling@MTI-MAC-X52WQNR99J build % pwd
/Users/davidsnelling/Workspace/fw-Gen2_Locks/build
davidsnelling@MTI-MAC-X52WQNR99J build % cd ..
davidsnelling@MTI-MAC-X52WQNR99J fw-Gen2_Locks % west flash --erase
-- west flash: rebuilding
[0/13] Performing build step for 'mcuboot'
ninja: no work to do.
[1/13] Performing build step for 'fw-Gen2_Locks'
[79/230] Performing build step for 'chip-gn'
Starting Matter library build in /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/fw-Gen2_Locks/modules/connectedhomeip
Generating compile_commands took 107ms
Done. Made 5431 targets from 450 files in 658ms
ninja: no work to do.
Matter library build complete
[139/228] Building CXX object CMakeFiles/app.dir/src/app_task.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/app_task.cpp: In member function 'CHIP_ERROR AppTask::Init()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/app_task.cpp:792:41: warning: unused variable 'status' [-Wunused-variable]
792 | Protocols::InteractionModel::Status status;
| ^~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/app_task.cpp: In static member function 'static void AppTask::MatterDeviceEventHandler(const chip::DeviceLayer::ChipDeviceEvent*, intptr_t)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/app_task.cpp:1500:18: warning: unused variable 'isNetworkProvisioned' [-Wunused-variable]
1500 | bool isNetworkProvisioned =
| ^~~~~~~~~~~~~~~~~~~~
[140/228] Building CXX object CMakeFiles/app.dir/src/bolt_lock_manager.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/bolt_lock_manager.cpp: In member function 'void BoltLockManager::Unlock(OperationSource, const chip::app::DataModel::Nullable<unsigned char>&, const chip::app::DataModel::Nullable<long long unsigned int>&, const chip::app::DataModel::Nullable<AccessManager<62>::ValidatePINResult>&)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/bolt_lock_manager.cpp:173:37: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'BoltLockManager::OperationSource' {aka 'chip::app::Clusters::DoorLock::OperationSourceEnum'} [-Wformat=]
173 | printk("State data: source = 0x%x FabricId = 0x%x \n", newStateData.mSource, newStateData.mFabricIdx);
| ~^ ~~~~~~~~~~~~~~~~~~~~
| | |
| unsigned int BoltLockManager::OperationSource {aka chip::app::Clusters::DoorLock::OperationSourceEnum}
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/bolt_lock_manager.cpp:173:53: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'chip::app::DataModel::Nullable<unsigned char>' [-Wformat=]
173 | printk("State data: source = 0x%x FabricId = 0x%x \n", newStateData.mSource, newStateData.mFabricIdx);
| ~^ ~~~~~~~~~~~~~~~~~~~~~~~
| | |
| unsigned int chip::app::DataModel::Nullable<unsigned char>
[146/228] Building CXX object CMakeFiles/app.dir/src/mti_app_task.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp: In static member function 'static bool AppTask::GetThreadNetworkInfo(chip::app::Clusters::DoorLock::CredentialTypeEnum)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp:356:30: warning: unused variable 'meshPrefix' [-Wunused-variable]
356 | const otMeshLocalPrefix *meshPrefix = otThreadGetMeshLocalPrefix(instance);
| ^~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp:358:9: warning: unused variable 'i' [-Wunused-variable]
358 | int i = 0;
| ^
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp: In static member function 'static bool AppTask::GetMattterTimeAndDate()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp:425:17: warning: unused variable 'instance' [-Wunused-variable]
425 | otInstance *instance = chip::DeviceLayer::ThreadStackMgrImpl().OTInstance();
| ^~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp:426:14: warning: unused variable 'aNetworkTime' [-Wunused-variable]
426 | uint64_t aNetworkTime;
| ^~~~~~~~~~~~
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp:16:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp: In static member function 'static void AppTask::GetMatterOnboardingCode(chip::app::Clusters::DoorLock::CredentialTypeEnum)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp:880:23: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'uint32_t' {aka 'unsigned int'} [-Wformat=]
880 | mti_print_raw("\nPasscode : %ld\n", aPayload.setUpPINCode);
| ^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
| |
| uint32_t {aka unsigned int}
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_logging.h:156:39: note: in definition of macro 'mti_print_raw'
156 | #define mti_print_raw(...) printk(__VA_ARGS__);
| ^~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_app_task.cpp:880:39: note: format string is defined here
880 | mti_print_raw("\nPasscode : %ld\n", aPayload.setUpPINCode);
| ~~^
| |
| long int
| %d
[150/228] Building CXX object CMakeFiles/app.dir/src/mti_src/flash/mti_matter_diagnostic-logs.cpp.obj
In file included from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/lib/support/CodeUtils.h:30,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/lib/core/Optional.h:32,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/app/ConcreteAttributePath.h:23,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/app/data-model/Decode.h:22,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/app/data-model/DecodableList.h:21,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/zzz_generated/app-common/clusters/shared/Attributes.h:23,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h:23,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/app/clusters/diagnostic-logs-server/DiagnosticLogsProviderDelegate.h:21,
from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_matter_diagnostic_logs.h:21,
from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_matter_diagnostic-logs.cpp:23:
In member function 'bool chip::ChipError::operator!=(const chip::ChipError&) const',
inlined from 'virtual CHIP_ERROR chip::app::Clusters::DiagnosticLogs::LogProvider::EndLogCollection(chip::app::Clusters::DiagnosticLogs::LogSessionHandle)' at /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_matter_diagnostic-logs.cpp:266:15:
/opt/nordic/ncs/v3.1.1/modules/lib/matter/src/lib/core/CHIPError.h:204:61: warning: 'error.chip::ChipError::mError' is used uninitialized [-Wuninitialized]
204 | bool operator!=(const ChipError & other) const { return mError != other.mError; }
| ^~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_matter_diagnostic-logs.cpp: In member function 'virtual CHIP_ERROR chip::app::Clusters::DiagnosticLogs::LogProvider::EndLogCollection(chip::app::Clusters::DiagnosticLogs::LogSessionHandle)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_matter_diagnostic-logs.cpp:265:16: note: 'error' declared here
265 | CHIP_ERROR error;
| ^~~~~
[153/228] Building CXX object CMakeFiles/app.dir/src/mti_src/common/mti_network_manager.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_network_manager.cpp: In static member function 'static void Mti::AppServices::MonitoringServicesHandler(k_timer*)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_network_manager.cpp:94:29: warning: the address of 'static bool Mti::BLEService::sAdvActive()' will never be NULL [-Waddress]
94 | if(!GetBLEService().sAdvActive){ // BLE is not advertising
| ~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_network_manager.cpp:7:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/ble_services/mti_ble_service.h:215:17: note: 'static bool Mti::BLEService::sAdvActive()' declared here
215 | static bool sAdvActive(void);
| ^~~~~~~~~~
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_network_manager.cpp:15:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h: At global scope:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:56:29: warning: 'Mti::ldo2' defined but not used [-Wunused-variable]
56 | static const struct device *ldo2 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo2));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:55:29: warning: 'Mti::ldo1' defined but not used [-Wunused-variable]
55 | static const struct device *ldo1 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo1));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:54:29: warning: 'Mti::regulators' defined but not used [-Wunused-variable]
54 | static const struct device *regulators = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_regulators));
| ^~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:53:29: warning: 'Mti::pmic' defined but not used [-Wunused-variable]
53 | static const struct device *pmic = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_pmic));
| ^~~~
[154/228] Building CXX object CMakeFiles/app.dir/src/mti_src/common/mti_main.cpp.obj
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_main.cpp:41:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:56:29: warning: 'Mti::ldo2' defined but not used [-Wunused-variable]
56 | static const struct device *ldo2 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo2));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:55:29: warning: 'Mti::ldo1' defined but not used [-Wunused-variable]
55 | static const struct device *ldo1 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo1));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:54:29: warning: 'Mti::regulators' defined but not used [-Wunused-variable]
54 | static const struct device *regulators = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_regulators));
| ^~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:53:29: warning: 'Mti::pmic' defined but not used [-Wunused-variable]
53 | static const struct device *pmic = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_pmic));
| ^~~~
[155/228] Building CXX object CMakeFiles/app.dir/src/mti_src/ble_services/mti_ble_service.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/ble_services/mti_ble_service.cpp:44:42: warning: 'BT_LE_ADV_OPT_CONNECTABLE' is deprecated [-Wdeprecated-declarations]
44 | constexpr uint32_t kAdvertisingOptions = BT_LE_ADV_OPT_CONNECTABLE;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/platform/Zephyr/CHIPDevicePlatformEvent.h:28,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/platform/nrfconnect/CHIPDevicePlatformEvent.h:27,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/include/platform/CHIPDeviceEvent.h:388,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/include/platform/ConnectivityManager.h:31,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/include/platform/CHIPDeviceLayer.h:28,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/app/CASESessionManager.h:27,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/app/server/Server.h:26,
from /opt/nordic/ncs/v3.1.1/modules/lib/matter/src/app/clusters/time-synchronization-server/time-synchronization-server.h:28,
from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/ble_services/mti_ble_service.cpp:12:
/opt/nordic/ncs/v3.1.1/zephyr/include/zephyr/bluetooth/bluetooth.h:707:9: note: declared here
707 | BT_LE_ADV_OPT_CONNECTABLE __deprecated = BIT(0),
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/ble_services/mti_ble_service.cpp: In static member function 'static void Mti::BLEService::PairingFailed(bt_conn*, bt_security_err)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/ble_services/mti_ble_service.cpp:976:13: warning: unused variable 'status' [-Wunused-variable]
976 | int status = bt_unpair(BT_ID_DEFAULT, remote_addr);
| ^~~~~~
[157/228] Building CXX object CMakeFiles/app.dir/src/mti_src/ble_services/mti_ble_time_sync.cpp.obj
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/ble_services/mti_ble_time_sync.cpp:18:
/opt/nordic/ncs/v3.1.1/zephyr/include/zephyr/sys/timeutil.h: In function 'bool timespec_is_valid(const timespec*)':
/opt/nordic/ncs/v3.1.1/zephyr/include/zephyr/sys/timeutil.h:341:51: warning: comparison of integer expressions of different signedness: 'const long int' and 'unsigned int' [-Wsign-compare]
341 | return (ts->tv_nsec >= 0) && (ts->tv_nsec < NSEC_PER_SEC);
[159/228] Building CXX object CMakeFiles/app.dir/src/mti_src/crypto/mti_irk.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_irk.cpp: In static member function 'static int Mti::CryptoService::RetrieveIRK()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_irk.cpp:148:10: warning: the address of 'Mti::CryptoService::preshared_irk' will never be NULL [-Waddress]
148 | if (!preshared_irk)
| ^~~~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_irk.cpp:46:9: note: 'Mti::CryptoService::preshared_irk' declared here
46 | uint8_t CryptoService::preshared_irk[MTI_IRK_SIZE] = {};
| ^~~~~~~~~~~~~
[160/228] Building CXX object CMakeFiles/app.dir/src/mti_src/crypto/mti_cert_gen.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_cert_gen.cpp: In static member function 'static int Mti::CryptoService::GenerateOrGetKeyinKmu(psa_key_id_t*)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_cert_gen.cpp:392:62: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'psa_key_id_t' {aka 'unsigned int'} [-Wformat=]
392 | printk("Key already exists in KMU slot %d (Key ID: %lu)\n", LOCK_PRIVARTE_KEY_KMU_SLOT_ID, *key_id);
| ~~^ ~~~~~~~
| | |
| long unsigned int psa_key_id_t {aka unsigned int}
| %u
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_cert_gen.cpp: In static member function 'static void Mti::CryptoService::ProcessCert(uint8_t*)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_cert_gen.cpp:1074:31: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
1074 | if ((index + length + 16) > cert_data_index) // +16 for end marker
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_cert_gen.cpp: In static member function 'static void Mti::CryptoService::CertGenTasks(uint8_t*, size_t)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/crypto/mti_cert_gen.cpp:1361:18: warning: unused variable 'user_console' [-Wunused-variable]
1361 | UserConsole *user_console = UserConsole::Instance();
| ^~~~~~~~~~~~
[166/228] Building CXX object CMakeFiles/app.dir/src/mti_src/user_management/mti_user_management.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_management/mti_user_management.cpp: In static member function 'static int Mti::UserMgmt::UserAddModDel(uint8_t*)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_management/mti_user_management.cpp:1306:72: warning: narrowing conversion of '(((int)(*(input + 6))) + 255)' from 'int' to 'chip::FabricIndex' {aka 'unsigned char'} [-Wnarrowing]
1306 | .createdBy = static_cast<chip::FabricIndex>(*(input + 6)) + MTI_BLE_LOCK_FABRIC,
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_management/mti_user_management.cpp:1307:72: warning: narrowing conversion of '(((int)(*(input + 7))) + 255)' from 'int' to 'chip::FabricIndex' {aka 'unsigned char'} [-Wnarrowing]
1307 | .lastModifiedBy = static_cast<chip::FabricIndex>(*(input + 7)) + MTI_BLE_LOCK_FABRIC,
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_management/mti_user_management.cpp:1325:12: warning: unused variable 'totalCredential' [-Wunused-variable]
1325 | size_t totalCredential = 0x01;
| ^~~~~~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_management/mti_user_management.cpp: At global scope:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_management/mti_user_management.cpp:539:13: warning: 'bool userExists(chip::EndpointId, uint16_t)' defined but not used [-Wunused-function]
539 | static bool userExists(chip::EndpointId endpointId, uint16_t userIndex)
| ^~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_management/mti_user_management.cpp:256:15: warning: 'chip::Protocols::InteractionModel::Status clearUserInternal(chip::EndpointId, chip::FabricIndex, chip::NodeId, uint16_t, const EmberAfPluginDoorLockUserInfo&, bool)' defined but not used [-Wunused-function]
256 | static Status clearUserInternal(chip::EndpointId endpointId, chip::FabricIndex modifierFabricId, chip::NodeId sourceNodeId,
| ^~~~~~~~~~~~~~~~~
[168/228] Building CXX object CMakeFiles/app.dir/src/mti_src/user_console/mti_user_console.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_console/mti_user_console.cpp: In function 'uint16_t get_debug_id_voltage()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_console/mti_user_console.cpp:111:29: warning: unused variable 'saadc_adv_config' [-Wunused-variable]
111 | nrfx_saadc_adv_config_t saadc_adv_config = {
| ^~~~~~~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_console/mti_user_console.cpp: In member function 'void Mti::UserConsole::print_command_options()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/user_console/mti_user_console.cpp:846:10: warning: unused variable 'lock_MAC_address' [-Wunused-variable]
846 | char lock_MAC_address[LOCK_MAC_ADDRESS_STRING_LENGTH];
| ^~~~~~~~~~~~~~~~
[170/228] Building CXX object CMakeFiles/app.dir/src/mti_src/pmic/mti_matter_reporting.cpp.obj
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_matter_reporting.cpp:8:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_matter_reporting.cpp: In static member function 'static void Mti::BMS::UpdatePowerSourceClusterState()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_matter_reporting.cpp:75:67: warning: implicit conversion from 'float' to 'double' when passing argument to function [-Wdouble-promotion]
75 | mti_printk("Battery level measurement failed %f", Battery.voltage);
| ~~~~~~~~^~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_logging.h:148:51: note: in definition of macro 'mti_printk'
148 | #define mti_printk(...) Mti::mti_print_info(__VA_ARGS__)
| ^~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_matter_reporting.cpp:119:103: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
119 | static_cast<uint32_t>(Battery.voltage * 1000.0));
| ~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_matter_reporting.cpp:11:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h: At global scope:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:56:29: warning: 'Mti::ldo2' defined but not used [-Wunused-variable]
56 | static const struct device *ldo2 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo2));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:55:29: warning: 'Mti::ldo1' defined but not used [-Wunused-variable]
55 | static const struct device *ldo1 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo1));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:54:29: warning: 'Mti::regulators' defined but not used [-Wunused-variable]
54 | static const struct device *regulators = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_regulators));
| ^~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:53:29: warning: 'Mti::pmic' defined but not used [-Wunused-variable]
53 | static const struct device *pmic = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_pmic));
| ^~~~
[171/228] Building CXX object CMakeFiles/app.dir/src/mti_src/pmic/mti_npm1300.cpp.obj
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.cpp:32:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:56:29: warning: 'Mti::ldo2' defined but not used [-Wunused-variable]
56 | static const struct device *ldo2 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo2));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:55:29: warning: 'Mti::ldo1' defined but not used [-Wunused-variable]
55 | static const struct device *ldo1 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo1));
| ^~~~
[173/228] Building CXX object CMakeFiles/app.dir/src/mti_src/finger_print/mti_fp_sensor-u20.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/finger_print/mti_fp_sensor-u20.cpp: In static member function 'static int Mti::FPSensorService::ResetTouch()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/finger_print/mti_fp_sensor-u20.cpp:1184:26: warning: unused variable 'state' [-Wunused-variable]
1184 | enum pm_device_state state;
| ^~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/finger_print/mti_fp_sensor-u20.cpp: In static member function 'static int Mti::FPSensorService::TurnONVin()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/finger_print/mti_fp_sensor-u20.cpp:1204:9: warning: unused variable 'status' [-Wunused-variable]
1204 | int status = 0;
| ^~~~~~
[174/228] Building CXX object CMakeFiles/app.dir/src/mti_src/pmic/mti_fuel_gauge.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_fuel_gauge.cpp: In static member function 'static int Mti::BMS::FuelGaugeUpdate(const device*, bool)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_fuel_gauge.cpp:343:60: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
343 | static_cast<int>(Battery.voltage * 1000.0),
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_fuel_gauge.cpp:344:60: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
344 | static_cast<int>(Battery.current * 1000.0),
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_fuel_gauge.cpp:46:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_fuel_gauge.cpp: In static member function 'static int Mti::BMS::FuelGaugeInit(const device*)':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_fuel_gauge.cpp:454:22: warning: implicit conversion from 'float' to 'double' when passing argument to function [-Wdouble-promotion]
454 | max_charge_current, term_charge_current);
| ^~~~~~~~~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_logging.h:139:57: note: in definition of macro 'mti_debug_printk'
139 | #define mti_debug_printk(...) Mti::mti_print_info(__VA_ARGS__)
| ^~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_fuel_gauge.cpp:454:42: warning: implicit conversion from 'float' to 'double' when passing argument to function [-Wdouble-promotion]
454 | max_charge_current, term_charge_current);
| ^~~~~~~~~~~~~~~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/common/mti_logging.h:139:57: note: in definition of macro 'mti_debug_printk'
139 | #define mti_debug_printk(...) Mti::mti_print_info(__VA_ARGS__)
| ^~~~~~~~~~~
In file included from /Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_fuel_gauge.cpp:42:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h: At global scope:
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:56:29: warning: 'Mti::ldo2' defined but not used [-Wunused-variable]
56 | static const struct device *ldo2 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo2));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:55:29: warning: 'Mti::ldo1' defined but not used [-Wunused-variable]
55 | static const struct device *ldo1 = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_ldo1));
| ^~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/pmic/mti_npm1300.h:54:29: warning: 'Mti::regulators' defined but not used [-Wunused-variable]
54 | static const struct device *regulators = DEVICE_DT_GET(DT_NODELABEL(npm1300_ek_regulators));
| ^~~~~~~~~~
[178/228] Building CXX object CMakeFiles/app.dir/src/mti_src/flash/mti_test_log_func.cpp.obj
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_test_log_func.cpp: In static member function 'static void Mti::FlashServices::Create_test_data()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_test_log_func.cpp:59:34: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
59 | else if (lock_status_d12 = 0x02)
| ~~~~~~~~~~~~~~~~^~~~~~
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_test_log_func.cpp: In static member function 'static void Mti::FlashServices::TestFunction()':
/Users/davidsnelling/Workspace/fw-Gen2_Locks/src/mti_src/flash/mti_test_log_func.cpp:165:16: warning: too many arguments for format [-Wformat-extra-args]
165 | printk("Time=%x,0%x,0%x,0%x lock_status=%x User=%x Credential=%x Index \n", event_record[0], event_record[1],
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[228/228] Linking CXX executable zephyr/zephyr.elf
Memory region Used Size Region Size %age Used
FLASH: 1206208 B 1244 KB 94.69%
RAM: 245456 B 256 KB 93.63%
IDT_LIST: 0 GB 32 KB 0.00%
Generating files from /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/fw-Gen2_Locks/zephyr/zephyr.elf for board: nrf54l15dk
image.py: sign the payload
image.py: sign the payload
[5/13] Generating new Factory Data...
FAILED: fw-Gen2_Locks/zephyr/factory_data.hex /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/fw-Gen2_Locks/zephyr/factory_data.hex
cd /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/_sysbuild && /opt/nordic/ncs/toolchains/561dce9adf/opt/[email protected]/bin/python3.12 /opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py --sn 11223344556677889900 --date 2026-02-12 --vendor_id 65521 --product_id 32774 --vendor_name Mobile\ Tech\ Inc --product_name Planet\ Fitness --hw_ver 1 --hw_ver_str Pre-Production --dac_cert /opt/nordic/ncs/v3.1.1/modules/lib/matter/credentials/development/attestation/Matter-Development-DAC-FFF1-8006-Cert.der --dac_key /opt/nordic/ncs/v3.1.1/modules/lib/matter/credentials/development/attestation/Matter-Development-DAC-FFF1-8006-Key.der --pai_cert /opt/nordic/ncs/v3.1.1/modules/lib/matter/credentials/development/attestation/Matter-Development-PAI-FFF1-noPID-Cert.der --spake2_it 1000 --spake2_salt U1BBS0UyUCBLZXkgU2FsdA== --discriminator 0xF00 --passcode 20202021 --include_passcode --overwrite --product_finish matte --product_color black --generate_onboarding --enable_key 00112233445566778899AABBCCDDEEFF -o /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/fw-Gen2_Locks/zephyr/factory_data -s /opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/nrfconnect_factory_data.schema --offset 0x144800 --size 0x144800
[INFO] Generating SPAKE2+ Verifier...
[WARNING] KEY password has not been provided. It means that DAC key is not encrypted.
[INFO] Validating JSON with schema...
[INFO] Validate OK
Traceback (most recent call last):
File "/opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py", line 594, in <module>
main()
File "/opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py", line 583, in main
generator.generate_json()
File "/opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py", line 370, in generate_json
self._generate_onboarding_data()
File "/opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py", line 431, in _generate_onboarding_data
qr = qrcode.make(setup_payload.generate_qrcode())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/qrcode/main.py", line 28, in make
return qr.make_image()
^^^^^^^^^^^^^^^
File "/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/qrcode/main.py", line 363, in make_image
from qrcode.image.pil import Image, PilImage
File "/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/qrcode/image/pil.py", line 2, in <module>
from PIL import Image, ImageDraw
File "/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/PIL/Image.py", line 88, in <module>
from . import _imaging as core
ImportError: dlopen(/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/PIL/_imaging.cpython-312-darwin.so, 0x0002): Library not loaded: /opt/homebrew/opt/libtiff/lib/libtiff.6.dylib
Referenced from: <4EA85D6A-C059-3275-B72C-006623C9FC52> /opt/nordic/ncs/toolchains/561dce9adf/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PIL/_imaging.cpython-312-darwin.so
Reason: tried: '/opt/homebrew/opt/libtiff/lib/libtiff.6.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/libtiff/lib/libtiff.6.dylib' (no such file), '/opt/homebrew/opt/libtiff/lib/libtiff.6.dylib' (no such file)
ninja: build stopped: subcommand failed.
FATAL ERROR: re-build in /Users/davidsnelling/Workspace/fw-Gen2_Locks/build failed (no --build-dir given)
davidsnelling@MTI-MAC-X52WQNR99J fw-Gen2_Locks %
When building using the UI action button in the nRF Connect tab, this is the output (indented):
* Executing task: nRF Connect: Build [incremental]: fw-Gen2_Locks/build
Building fw-Gen2_Locks
west build --build-dir /Users/davidsnelling/Workspace/fw-Gen2_Locks/build /Users/davidsnelling/Workspace/fw-Gen2_Locks
[0/13] Performing build step for 'mcuboot'
ninja: no work to do.
[1/13] Performing build step for 'fw-Gen2_Locks'
[0/8] Performing build step for 'chip-gn'
Starting Matter library build in /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/fw-Gen2_Locks/modules/connectedhomeip
Generating compile_commands took 104ms
Done. Made 5431 targets from 450 files in 624ms
ninja: no work to do.
Matter library build complete
[5/13] Generating new Factory Data...
FAILED: fw-Gen2_Locks/zephyr/factory_data.hex /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/fw-Gen2_Locks/zephyr/factory_data.hex
cd /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/_sysbuild && /opt/nordic/ncs/toolchains/561dce9adf/opt/[email protected]/bin/python3.12 /opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py --sn 11223344556677889900 --date 2026-02-12 --vendor_id 65521 --product_id 32774 --vendor_name Mobile\ Tech\ Inc --product_name Planet\ Fitness --hw_ver 1 --hw_ver_str Pre-Production --dac_cert /opt/nordic/ncs/v3.1.1/modules/lib/matter/credentials/development/attestation/Matter-Development-DAC-FFF1-8006-Cert.der --dac_key /opt/nordic/ncs/v3.1.1/modules/lib/matter/credentials/development/attestation/Matter-Development-DAC-FFF1-8006-Key.der --pai_cert /opt/nordic/ncs/v3.1.1/modules/lib/matter/credentials/development/attestation/Matter-Development-PAI-FFF1-noPID-Cert.der --spake2_it 1000 --spake2_salt U1BBS0UyUCBLZXkgU2FsdA== --discriminator 0xF00 --passcode 20202021 --include_passcode --overwrite --product_finish matte --product_color black --generate_onboarding --enable_key 00112233445566778899AABBCCDDEEFF -o /Users/davidsnelling/Workspace/fw-Gen2_Locks/build/fw-Gen2_Locks/zephyr/factory_data -s /opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/nrfconnect_factory_data.schema --offset 0x144800 --size 0x144800
[INFO] Generating SPAKE2+ Verifier...
[WARNING] KEY password has not been provided. It means that DAC key is not encrypted.
[INFO] Validating JSON with schema...
[INFO] Validate OK
Traceback (most recent call last):
File "/opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py", line 594, in <module>
main()
File "/opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py", line 583, in main
generator.generate_json()
File "/opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py", line 370, in generate_json
self._generate_onboarding_data()
File "/opt/nordic/ncs/v3.1.1/modules/lib/matter/scripts/tools/nrfconnect/generate_nrfconnect_chip_factory_data.py", line 431, in _generate_onboarding_data
qr = qrcode.make(setup_payload.generate_qrcode())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/qrcode/main.py", line 28, in make
return qr.make_image()
^^^^^^^^^^^^^^^
File "/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/qrcode/main.py", line 363, in make_image
from qrcode.image.pil import Image, PilImage
File "/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/qrcode/image/pil.py", line 2, in <module>
from PIL import Image, ImageDraw
File "/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/PIL/Image.py", line 88, in <module>
from . import _imaging as core
ImportError: dlopen(/opt/nordic/ncs/toolchains/561dce9adf/lib/python3.12/site-packages/PIL/_imaging.cpython-312-darwin.so, 0x0002): Library not loaded: /opt/homebrew/opt/libtiff/lib/libtiff.6.dylib
Referenced from: <4EA85D6A-C059-3275-B72C-006623C9FC52> /opt/nordic/ncs/toolchains/561dce9adf/Cellar/[email protected]/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PIL/_imaging.cpython-312-darwin.so
Reason: tried: '/opt/homebrew/opt/libtiff/lib/libtiff.6.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/opt/libtiff/lib/libtiff.6.dylib' (no such file), '/opt/homebrew/opt/libtiff/lib/libtiff.6.dylib' (no such file)
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/561dce9adf/bin/cmake --build /Users/davidsnelling/Workspace/fw-Gen2_Locks/build
* The terminal process terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
