Correct way to override a zephyr git using another fork and build failure?

Hi,

I need to make a small change one of the Zephyr git modules.

At the moment my Git has a west.yml and imports the nrfconnect SDK; which in tern imports the nrfconnect zephyr fork and all underlying modules.
Now the module I need to replace is one of the modules in the zephyr git west.yml.

My code all builds fine if I just locally change the one file in the module and all refs still point to original zephyr module git (not overrriden).
I now clone the modules git; and try and override the use of the original zephyr copy with my own; referring to the SAME commit number from my own west.yml.
My builds now fail.

I have checked the output of the "west update" when swapping between the two variants; this looks good.
I have compared the module sources; this looks identical.

I have tried to compare the build output for successful and failed builds; this is difficult for the two builds as the build order seems to differ.
But I can see there are differences in the two builds WRT compilation of segger related code; primarily subsys/logging/log_backend_rtt.c and subsys/shell/shell_rtt.c.
And final link error is related to Segger RTT.

I attach the build output that I try to compare.
But this does not contain the detail I need to see why one build fails; I think the correct toolchain is being used (2.1.0); but I want to see the complete build line for each target so I can try and work out why the one build fails.

buildlogBad.txtbuildlogGood.txt


Parents Reply
  • There is a issue compiling tracealyzer into latest builds due to a namespace issue.  trcKernelPort.h includes a "version.h" to get the kernel version so to force the build to break if kernel is not correct version; problem is in my build variant it pulls in mbedtls stuff and that too contains a "version.h".

    So trcKernelPort.h picks wrong version.h and bombs out as it doen't get good kernel version.

    Hence my need to swap to a fork of the tracealyzer libs (modules/debug/TraceRecorder); where I can patch the one file.

    But as soon as I modify my west,yml to pull in my copy of libs the build breaks. Something I m missing here.

Children
No Data
Related