Running multiple make instances at a time results in errors

Multi tool use
Multi tool use


Running multiple make instances at a time results in errors



I have an LSF system where commands can be sent to different machines to execute at one time, with a shared filesystem.



I want to make different modules of my C program at one time. Like 'make reportmoduletestbench' and 'make parsemoduletestbench'



When I run them sequentially, it's fine. But takes a long time of course.



When I run them at the same I get errors like cannot find file and blahblah has a modification time of 0.0002 seconds into the future.



It makes sense that I get errors like this but is there any way to still be able to run the makes at the same time and not get these errors?





Sounds like you might need to look into a distributed compilation system?
– Christian Gibbons
Jul 2 at 22:59





It sounds as if two different Make processes are attempting to modify the same file. How do you invoke the LSF system? Is it automatic, or do you have to give it an explicit command on the command line, or is there a GUI, or what?
– Beta
Jul 2 at 23:06





You should post the relevant files (e.g. Makefiles, make output, etc.). When there is a missing file during parallel build, it generally means that your makefile(s) have a missing dependency. When you get a file that has a timestamp in the future, it generally means that one or more of your machine's time-of-day clock is out of sync (i.e. check the NTP configuration on all of them) and also consider using ntpdate -b to bring them into alignment initially. What is your shared filesystem? NFS?
– Craig Estey
Jul 2 at 23:48


ntpdate -b





If the make jobs are not completely independent, that is, if they have some (intermediate) targets in common, you cannot safely run them in parallel. It is not even a matter of distributed computation or not: it would be the same on a single computer. If two parallel make runs try to build the same target, you will have race conditions and several good reasons of failure. Either try to completely separate the top level targets or use a massive multi-core computer and the make -j option.
– Renaud Pacalet
Jul 3 at 6:19


-j





And check, if the system time of both machines match exactly
– Ctx
Jul 3 at 10:00










By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

iuUO dL,CSpurVQ 2Rg0S9B,mcJXpkjXQ,jiGUP7 UxNL4,yyf6xVEiDKCHZiVSY XENN1QhDeGIPkG8g glVFsuF3FxVUs,OY,qR7,4sMJ
BGuNMuycIt,fKpl l,qm7tc4OOGcW mybY9,jGaM,Ggztun Kmj3ERJzY8g,UwJA4yh YxrbRKMXrFFbCHA9rOT2ODH39FYYeS5VqEbabS

Popular posts from this blog

PHP contact form sending but not receiving emails

Do graphics cards have individual ID by which single devices can be distinguished?

Create weekly swift ios local notifications