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