After analyzing the anno file, We noticed that there are something could cause this problem, in the failed job: J0000000001adfb50, there is a submake (ID: M00000004) , which called: “/opt/ecloud/i686_Linux/64/bin/emake -f /DATA/workspace/eatemp/agentemp-1/ccX1IZbl.mk -j8 all” The tmp directory: /DATA/workspace/eatemp/agentemp-1/ is not in emake-root, but it’s accessed by emake at here.
And this submake is actually generated due to the -flto=8 option we used
Please check out the document here: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html , the -flto[=n] section:
If you specify the optional n, the optimization and code generation done at link time is executed in parallel using n parallel jobs by utilizing an installed make program. The environment variable MAKE may be used to override the program used. The default value for n is 1.
It’s funny that a link command need to generate a Makefile (in the $TMP directory) and run make
So the simple solution is to use “-flto=1” instead of 8. Or tell gcc to generate those file somewhere else, but we couldn’t find documentation to change the location of the files that were generated in this step.
Then the solution is to use “-flto=1”.