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

Undefined symbol arm_nn_softmax_common_s8

I want to use the tensorflow Lite Micro in the c++ project of armDS.

There is an error when I check the library and build it as shown in the picture in software components.

The error is "Error: L6218E: Undefined symbol arm_nn_softmax_common_s8 (referred from arm_softmax_s8_s16.o)"

Is there an error because there is a library that I didn't install?

It seems to me that there is an error in the CMSIS-NN Neural Network library.

Somebody tell me how to solve this

Parents
  • Hello

    I fixed the error by adding arm_nn_softmax_common_s8.c to the project
    Thank you for telling me how to solve it!

    But I had another error

    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?

    Tensorflow Lite Micro library doesn't seem to load properly.

    Should I do something like PATH setting in ARMDS?

    Can you help you solve the error?


Reply
  • Hello

    I fixed the error by adding arm_nn_softmax_common_s8.c to the project
    Thank you for telling me how to solve it!

    But I had another error

    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?

    Tensorflow Lite Micro library doesn't seem to load properly.

    Should I do something like PATH setting in ARMDS?

    Can you help you solve the error?


Children