Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.

We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.

Thank you for your understanding.


This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Error: L6218E: Undefined symbol tflite::micro

Hello

I have an error when I load the TensorFlow Lite Micro library in ARMDS


The error is "Error: L6218E: Undefined symbol tflite::micro::RegisterOp(void* (*)(TfLiteContext*, char const*, unsigned int), TfLiteStatus (*)(TfLiteContext*, TfLiteNode*), TfLiteStatus (*)(TfLiteContext*, TfLiteNode*)) (referred from activations.o).
Error: L6218E: Undefined symbol tflite::micro::GetEvalInput(TfLiteContext const*, TfLiteNode const*, int) (referred from activations.o).
Error: L6218E: Undefined symbol tflite::micro::GetEvalOutput(TfLiteContext const*, TfLiteNode const*, int) (referred from activations.o).
Error: L6218E: Undefined symbol tflite::micro::GetTensorShape(TfLiteEvalTensor const*) (referred from activations.o).
Error: L6218E: Undefined symbol tflite::micro::HaveSameShapes(TfLiteEvalTensor const*, TfLiteEvalTensor const*) (referred from comparisons.o).
Error: L6218E: Undefined symbol tflite::micro::RuntimePaddingType(TfLitePadding) (referred from conv_common.o).
Error: L6218E: Undefined symbol tflite::micro::CreateWritableTensorDimsWithCopy(TfLiteContext*, TfLiteTensor*, TfLiteEvalTensor*) (referred from depth_to_space.o).
Error: L6218E: Undefined symbol tflite::micro::CopyOpInputsToSubgraphInputs(TfLiteContext*, TfLiteNode*, tflite::MicroGraph*, int, int) (referred from if.o).
Error: L6218E: Undefined symbol tflite::micro::CopySubgraphOutputsToOpOutputs(TfLiteContext*, TfLiteNode*, tflite::MicroGraph*, int) (referred from if.o).
Error: L6218E: Undefined symbol tflite::micro::GetMutableEvalInput(TfLiteContext const*, TfLiteNode const*, int) (referred from svdf.o).
Error: L6218E: Undefined symbol tflite::micro::CopyOpInputsToOpOutputs(TfLiteContext*, TfLiteNode*) (referred from while.o).
Error: L6218E: Undefined symbol tflite::micro::CopyOpOutputsToSubgraphInputs(TfLiteContext*, TfLiteNode*, tflite::MicroGraph*, int) (referred from while.o).
Finished: 0 information, 122 warning and 12 error messages."


Is it wrong to include in my code?

Should I do something like PATH setting in ARMDS?

The Tensorflow Lite Micro version I use is 1.22.5-rc4

The packages I use in ARMDS are shown in the picture.


Somebody tell me how to solve this


  • Hi again,

    This thread is a continuation from community.arm.com/.../undefined-symbol-arm_nn_softmax_common_s8

    Those "undefined symbols" (such as CreateWritableTensorDimsWithCopy, etc) are defined in the tensorflow.tensorflow-lite-micro.1.22.5-rc4.pack, so I can't immediately explain why the linker can't resolve them.

    There is no need for any extra PATH settings.

    The version of CMSIS Core you are using (5.6.0) is rather old.  As a first step, please update to CMSIS 5.8.0 or later.

    It might be a good idea to revert to using only "released" versions of the ML packs, i.e. tensorflow.tensorflow-lite-micro.1.22.2.pack, etc.

    Stephen