Seed Studio Xiao MG24 - Linking of Edge Arduino library failing due to dual inclusion of TFLite library

Question/Issue:
Xiao MG24 - Arduino Studio sketch compilation failing because duplication of TFLite library

Project ID:
825807

Context/Use case:
Captured datasets using the the MG24 IMU (accelerometer, gyroscope) and generated a model for gesture detection.
Downloaded the model for inferencing as a Arduino library (MG24_Sense_inferencing.h)
Created a simple sketch that reads the IMU data and passes it to the library for inferencing.
But compilation is failing because both the Edge Impulse library and the Silabs SDK library for the MG24 include the TensorFlow Lite library - as .o files in the Edge Impulse library, and as a pre-compiled file from Silabs SDK (Gecko library - gsdk.a file)

Steps Taken:

Downloaded the Edge Impulse lib as a .zip file - ei-mg24-sense-arduino-1.0.3.zip
Included it in my sketch (#include <MG24_Sense_inferencing.h>)
Tried to compile but it fails at linker stage (ld) for all functions of the TFLite library with 'multiple definition of ’ the functions
Expected Outcome:
To compile and upload the sketch to the MG24 MCU

Actual Outcome:
Many linker errors due to dual definitions of TFLite functions. Two examples:

ld.exe:
C:\Users\Luis\AppData\Local\Arduino15\packages\SiliconLabs\hardware\silabs\3.0.0\variants\xiao_mg24/ble_silabs/gsdk.a(unidirectional_sequence_lstm.o):
in function tflite::Register_UNIDIRECTIONAL_SEQUENCE_LSTM()': /Users/tajozsi/Library/Arduino15/packages/SiliconLabs/hardware/silabs/3.0.0/package/gen/aiml_2.0.0/third_party/tflite-micro/tensorflow/lite/micro/kernels/cmsis_nn/unidirectional_sequence_lstm.cc:672: multiple definition of tflite::Register_UNIDIRECTIONAL_SEQUENCE_LSTM()'; C:\Users\Luis\AppData\Local\arduino\sketches\05E61CED255EDA90751A781933D93C90\libraries\MG24_Sense_inferencing\edge-impulse-sdk\tensorflow\lite\micro\kernels\objs.a(unidirectional_sequence_lstm.cpp.o):
c:\src\Arduino\libraries\MG24_Sense_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels/unidirectional_sequence_lstm.cpp:585: first defined here

ld.exe:
C:\Users\Luis\AppData\Local\Arduino15\packages\SiliconLabs\hardware\silabs\3.0.0\variants\xiao_mg24/noradio/libtflm.a(kernel_util.cc.obj):
in function tflite::micro::GetMutableEvalInput(TfLiteContext const*, TfLiteNode const*, int)': C:/Users/anmahade/src/gsdk/extension/aiml-extension/third_party/tflite-micro/tensorflow/lite/micro/kernels/kernel_util.cc:63: multiple definition of tflite::micro::GetMutableEvalInput(TfLiteContext const*, TfLiteNode const*, int)'; C:\Users\Luis\AppData\Local\arduino\sketches\05E61CED255EDA90751A781933D93C90\libraries\MG24_Sense_inferencing\edge-impulse-sdk\tensorflow\lite\micro\kernels\objs.a(kernel_util_micro.cpp.o):c:\src\Arduino\libraries\MG24_Sense_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels/kernel_util_micro.cpp:60: first defined here

Reproducibility:

[X] Always
[ ] Sometimes
[ ] Rarely
Environment:

Platform: Seed Studio Xiao MG24 - Silabs EFR32MG24 (Cortex-M33 78Mhz) MCU
Build Environment Details: Arduino 2.3.6 with Arduino Core for Silicon Labs devices 3.0.0
OS Version: Windows 10
Edge Impulse Version (Firmware):
EI_STUDIO_VERSION_MAJOR 1
EI_STUDIO_VERSION_MINOR 79
EI_STUDIO_VERSION_PATCH 1

Edge Impulse CLI Version:
Project Version: 1.0.3
Custom Blocks / Impulse Configuration: no custom blocks used (all defaults suggested by the site)
Logs/Attachments:

For all TFLite functions , linker multiple definiton errors as stated above:

Examples:
ld.exe:
C:\Users\Luis\AppData\Local\Arduino15\packages\SiliconLabs\hardware\silabs\3.0.0\variants\xiao_mg24/ble_silabs/gsdk.a(unidirectional_sequence_lstm.o):
in function tflite::Register_UNIDIRECTIONAL_SEQUENCE_LSTM()': /Users/tajozsi/Library/Arduino15/packages/SiliconLabs/hardware/silabs/3.0.0/package/gen/aiml_2.0.0/third_party/tflite-micro/tensorflow/lite/micro/kernels/cmsis_nn/unidirectional_sequence_lstm.cc:672: multiple definition of tflite::Register_UNIDIRECTIONAL_SEQUENCE_LSTM()'; C:\Users\Luis\AppData\Local\arduino\sketches\05E61CED255EDA90751A781933D93C90\libraries\MG24_Sense_inferencing\edge-impulse-sdk\tensorflow\lite\micro\kernels\objs.a(unidirectional_sequence_lstm.cpp.o):
c:\src\Arduino\libraries\MG24_Sense_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels/unidirectional_sequence_lstm.cpp:585: first defined here

ld.exe:
C:\Users\Luis\AppData\Local\Arduino15\packages\SiliconLabs\hardware\silabs\3.0.0\variants\xiao_mg24/noradio/libtflm.a(kernel_util.cc.obj):
in function tflite::micro::GetMutableEvalInput(TfLiteContext const*, TfLiteNode const*, int)': C:/Users/anmahade/src/gsdk/extension/aiml-extension/third_party/tflite-micro/tensorflow/lite/micro/kernels/kernel_util.cc:63: multiple definition of tflite::micro::GetMutableEvalInput(TfLiteContext const*, TfLiteNode const*, int)'; C:\Users\Luis\AppData\Local\arduino\sketches\05E61CED255EDA90751A781933D93C90\libraries\MG24_Sense_inferencing\edge-impulse-sdk\tensorflow\lite\micro\kernels\objs.a(kernel_util_micro.cpp.o):c:\src\Arduino\libraries\MG24_Sense_inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels/kernel_util_micro.cpp:60: first defined here

Additional Information:

I asked at the Silabs forums if there’s a way to avoid inclusion of TFlite lib in their Arduino core but I think it’s difficult it being a pre-compiled binary blob (gsdk.a). Is there any way (flag, option) when generating the Edge Impulse Arduino lib to tell it to exclude the TFLite library, since it alread exists at other parts of the project for a targeted MCU (in this case the MG24)? Or else there will be no way to use Edge Impulse for many Silabs MCUs that use the same core lib (Gecko).
Thanks!