SOC Blockset Support for Xilinx - "gmake: *** No rule to make target" Error during the Build Software Application phase in SOC Builder

2 views (last 30 days)
Hello,
I am using SOC Blockset along with the hardware support package for Xilinx Devices (ZCU111 RFSoC for me).
I can have my "system" working and succesfully running through all the SoC Builder steps to produce the embedded software and the bitstream for a design to run on the hardware.
The Problem: Every now and again my "system" stops working at the SoC-Builder->Build-software-application phase, and will report the error: "gmake: *** No rule to make target" and the quoted source file it's trying to gcc is usually the auto generated MyModel_sw.c, but it can be any .c source file involved in the build. This error isn't caused by any change I've made to the model, the same model has successfully "built" in the past.
My suspicion is that it may be caused by running the 2020a version alongside the 2021b version????
My only "Fix" at the moment is to completely uninstall Matlab (and all my hardware support packages), then re-install everything. This "sometimes" works but may need doing several times to re-instate a working "system" - many days of effort. I then of course eventually end up with the same "gmake" problem again, and have to do the whole uninstall - re-install saga.
Things I've tried:-
Uninstall and re-install SoC Blockset Support for Xilinx devices (and its' additional pre-requisite packages)
In Manage Add-Ons, run through the setup to re-bild or "Register" the "sysroot" for my ZCU111
Do same as above for Embedded coder (with ZCU102 I think - no ZCU111 option)
Any suggestions on things to try would be much appreciated.
Many Thanks,
Stuart

Accepted Answer

Stuart
Stuart on 21 Dec 2021
I've solved it!
A common method of development for me is to reach the stage of a "working" design, I then copy that design to a new directory to continue with the next phase of development.
The next time I try to use "SoC Builder" to build the augmented design, I first delete all the original build folders i.e. "slprj", "soc_prj" & "soc_mydesign_sw_ert_rtw". My mistake was to not delete the model cache files (the .slxc files). Embedded Coder was extracting path names from the .slxc files (which would point at the original design directory). Hence my apparently intermittent behaviour - If the original directory (and contents) still existed then the build would succeed. If the original directory no longer existed then the build would fail, quite rightly stating "gmake: *** No rule to make target......" (as the path it was using, from the .slxc file, no longer existed).
I hope this helps someone else.......
Stu

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by