Yesterday I was trying to compile the ROOT package from source. Since I was compiling it on a 6 core monster machine, I decided to go ahead and build using multiple cores using
make -j 6. The compiling went smooth and really fast at first, but at some point
make hung using 100% CPU on just one core.
I did some googling and found this post on the ROOT message boards. Since I built this computer myself, I was worried that I hadn't properly applied the heatsink and the CPU was overheating or something. Unfortunately, I don't have a fridge here at work that I can stick it in. ;-)
I installed the
lm-sensors package and ran
make -j 6 again, this time monitoring the CPU temperature. Although it got high (close to 60 C), it never went past the high or critical temperature.
I tried running
make -j 4 but again
make hung sometime during the compile, this time at a different spot.
In the end, I compiled just running
make and it worked fine. My question is: Why was it hanging? Due to the fact that it stopped at two different spots, I would guess it was due to some sort of race condition, but I would think
make should be clever enough to get everything in the right order since it offers the