Hi,
I wish I had the ultimate answer to share. Perhaps my observations might trigger an idea that helps. My main observation is that yocto builds seem to work better with higher performance systems. Packets are transferred over TCP/IP, so each packet is retried until successful. That should lead to every yocto build being identical, just slower on some machines, but my experience shows a difference.
Instead, as I build on larger machines, my builds apparently produced fewer errors. The last two builds came close. I used an i9 with 32GB memory and had a handful of errors. My last build was on a Xeon with 128GB memory and seems to have only one error:
---- ERROR: Task (/home/kuser/yocto/sources/meta-imx/meta-ml/recipes-libraries/onnxruntime/onnxruntime_1.10.0.bb:do_install) failed with exit code '1'
NOTE: Tasks Summary: Attempted 9597 tasks of which 0 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/home/kuser/yocto/sources/meta-imx/meta-ml/recipes-libraries/onnxruntime/onnxruntime_1.10.0.bb:do_install
Summary: There were 4 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
I wonder if yocto recipes can build the same exact image, or do the recipes change over time without the version numbering change? If the recipe is just a suggestion and not a law, then I could see it behaving differently for various builders.