Arm Mbed OS support forum

Compilation error on Apple M1

Hello there,

I’m trying to compile a program for my work and I got a bunch of error I don’t know what I’ve missed :

[Warning] @0,0: L3912W: Option 'legacyalign' is deprecated.
[Error] @0,0: L6218E: Undefined symbol arm_uc_class_id (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
[Error] @0,0: L6218E: Undefined symbol arm_uc_class_id_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
[Error] @0,0: L6218E: Undefined symbol arm_uc_vendor_id (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
[Error] @0,0: L6218E: Undefined symbol arm_uc_vendor_id_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
[Error] @0,0: L6218E: Undefined symbol arm_uc_default_certificate (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
[Error] @0,0: L6218E: Undefined symbol arm_uc_default_certificate_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
[Error] @0,0: L6218E: Undefined symbol arm_uc_default_fingerprint (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
[Error] @0,0: L6218E: Undefined symbol arm_uc_default_fingerprint_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Warning: L3912W: Option 'legacyalign' is deprecated.
Error: L6218E: Undefined symbol arm_uc_class_id (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
Error: L6218E: Undefined symbol arm_uc_class_id_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
Error: L6218E: Undefined symbol arm_uc_vendor_id (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
Error: L6218E: Undefined symbol arm_uc_vendor_id_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
Error: L6218E: Undefined symbol arm_uc_default_certificate (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Error: L6218E: Undefined symbol arm_uc_default_certificate_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Error: L6218E: Undefined symbol arm_uc_default_fingerprint (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Error: L6218E: Undefined symbol arm_uc_default_fingerprint_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Finished: 0 information, 1 warning and 8 error messages.
[ERROR] Warning: L3912W: Option 'legacyalign' is deprecated.
Error: L6218E: Undefined symbol arm_uc_class_id (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
Error: L6218E: Undefined symbol arm_uc_class_id_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
Error: L6218E: Undefined symbol arm_uc_vendor_id (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
Error: L6218E: Undefined symbol arm_uc_vendor_id_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/ServiceClient.o).
Error: L6218E: Undefined symbol arm_uc_default_certificate (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Error: L6218E: Undefined symbol arm_uc_default_certificate_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Error: L6218E: Undefined symbol arm_uc_default_fingerprint (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Error: L6218E: Undefined symbol arm_uc_default_fingerprint_size (referred from BUILD/NUCLEO_F767ZI/ARMC6/mbed-cloud-client/source/UpdateClient.o).
Finished: 0 information, 1 warning and 8 error messages.

I installed GNU Arm Embedded Toolchain via brew (8-2019-q3), installed Mbed studio for my Mac (2020 M1 MBP), I tried to change to several version of mbed-os but it still doesn’t want to compile…

Update : it was missing a file (update_default_resources.c)