Library build error for WBZ451

Hi,
I have deployed my first model on my first edgeimpulse project .
Once I get the c++ library (zip file) downloaded into my PC I do:

  1. follow the guide here: https://github.com/MicrochipTech/ml-edgeimpulse-project-builder

  2. unzip the edge impulse library into the reposotory folder and with GIT-BASH I run the following script:
    " MPLABX_VERSION=6.10 XC_VERSION=4.10 XC_NUMBER_BITS=32 ./build.sh WBZ451 libedgeimpulse"

The script starts and seems to find either MPLAB 6.10 or XC32 4.10 on my PC but it terminates with
"recipe for target ‘.build-impl’ failed
"

Do you have any idea?
Thanks a lot.
Nicola

Hi @Koli

I have also followed that guide and it is a bit outdated. Let me find the thread and steps i suggested to the last user…

Best

Eoin

Hopefully this will help you, if you have any problems, or manage to get it working let me know!

Best

Eoin

Hi Eoin,
thanks for replying me !
I tried with 2 different xc32 compiler (4.10 and 4.35) and 2 different MPLAB version (6.10 and 6.35) but they give me the same error.
Can I send to you the c++ exported from my edge impulse project to let you try on your own?
Please let me know ad thanks !
N.

Hi @Koli,
I’m Matt form the EI Embedded Team.
Could you post or send me in the PM the full build log? The error recipe for target ‘.build-impl’ failed just tells that this recipe failed, but the actual error is probably much earlier in the log.

BR,
Matt

Hi @Koli,

It looks like it may be the way the parameters are passed in the Makefile.
Can you try the suggestions found in this thread.

// Raul

Hi @Koli

The last time this came up I went through this with the user, but we didn’t get it finished.

What OS are you working on? There are some hard coded values and outdated EI sdk references

In the post i shared there are some steps that need to be taken on that repo to change the MPLAB version and SDK libs:

Either way please give the replys to Mat and Raul and then let me know how you get on with the suggestions in the steps that need to be taken to edit the script for your OS

Best

Eoin

Hi Mat, thanks for reply .
Im struggling finding the MAKE file in order to apply the fix of this link:
https://forum.edgeimpulse.com/t/mingw32-make-error-87-when-building-on-windows/9129
Where can i find the MAKE file ?

im using i7 with windows 11 pro.
Attached my folder.
Thanks a lot.


@Koli
Please try to debug the build.sh script. The easiest way is to put: echo "Stage NN ready" after each important step. Then see in the console which exactly step failed. I guess it could be this one.
If that is really the step that failed, then analyze what it is doing. You can see that before starting make it changes directory: cd "${PRJ_NAME}".X. Try to find this directory (you can do echo ${PRJ_NAME} before to see the exact name). Then go to this directory and check if there is any Makefile. I guess you should search in libedgeimpulse.X.

Best regards,
Matt

Hi @Koli

Let me know how you get on this week with the build.sh or open-cmsis approach. @ei_francesco it would be great to see how open-cmsis works with MPLAB, and if the addition of sensors / libs is as seamless as it was for Arm Keil MDK.

Best

Eoin

Hi @mateusz,
thanks for reply.
Hi think , was just a problem of “naming” the output project .
Now it seems the “.X” mplab project was created since I dont see that error anymore.
The difference with the past is just it takes a less time to exit from that command .
This is my output regarding the folders:


And this is my command I used:

Can you confirm all is ok ?
Thanks !

@Koli
If the project builds fine for you (without errors), then try to run it and confirm on the hardware that everything is fine.

BR,
Matt

libedgeimpulse.X this is the output from the build.sh after you updated the edge impulse sdk required libs on Friday @Koli should have resolved the dependency issues:

ml-edgeimpulse-project-builder/build.sh needs to be updated

Needs to include the latest as you can see in that file it mentions the list is pulled directly from the example-stand-alone-inferencing example.

Also make sure that you update the relevant wget commands to pull your correct compuler and remaining MPLAB required files:

Best

Eoin

1 Like

Hi @Eoin , @mateusz
I’m currently a little bit confused .
Please let me recap what I did:

Test 1:

  1. Unzip Library

I copied the library in ML repository like below.

First of all, is this folder structure right ?

  1. Run “MPLABX_VERSION=6.10 XC_VERSION=4.10 XC_NUMBER_BITS=32 ./build.sh WBZ451 koli-project”
    In this step I checked the packets @Eoin mentioned and seems they are good.

Also seems to me from log that all the DFP packets and stuff have been found.

I have also all the build log but I cant upload it like text file. Please tell me where to send it.

In addition ,
Since I have Doccker engine installed , can I also tried with it ?
Maybe someone can connect to my PC and solve remotely ?

Thanks a lot.
Nicola

Hi @Koli

Can you print out the ${PRJ_NAME} variable to see the exact name of the directory?

Also the share the contents of:

xc32.project.ini

We must be missing one part of the config.

Feel free to share the contents of these files here or via a google doc to the email we have already.

We can have a remote session tomorrow morning if you like? Lets arrange on the email.

Best

Eoin

Oh you also need to update the CMSIS NN and DSP, make sure these were added too @Koli

For CMSIS/NN:

  • edge-impulse-sdk/CMSIS/NN/Source/ActivationFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/BasicMathFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/ConcatenationFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/ConvolutionFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/FullyConnectedFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/NNSupportFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/PoolingFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/ReshapeFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/SoftmaxFunctions/*.c
  • edge-impulse-sdk/CMSIS/NN/Source/SVDFunctions/*.c

For CMSIS/DSP:

  • edge-impulse-sdk/CMSIS/DSP/Source/MatrixFunctions/*.c
  • edge-impulse-sdk/CMSIS/DSP/Source/BasicMathFunctions/*.c
  • edge-impulse-sdk/CMSIS/DSP/Source/FastMathFunctions/*.c
  • edge-impulse-sdk/CMSIS/DSP/Source/StatisticsFunctions/*.c
  • edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/*fft*.c
  • edge-impulse-sdk/CMSIS/DSP/Source/CommonTables/*.c
  • edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/*bit*.c
  • edge-impulse-sdk/CMSIS/DSP/Source/SupportFunctions/*.c

Best

Eoin

@Koli hopefully now MPLAB is configured we you can get going with the test project and deploy to your device :crossed_fingers:

Best

Eoin