Fri 26 Jun 2009 07:03:10 AM UTC, original submission:
I experience failues with parallel make on my dual-core laptop machine (GNU/Linux, x86-64).
I faintly remember something similar on Solaris/x86-64 on a 16-core box, but I dismissed it as artefact of the not well-synched clocks we have there between NFS filesystems.
I'll try to check this.
Anyway, problem is:
I have a Fortran 90/95 project that contains .F90 files that need preprocessing to .f90 before being compiled to .o .
Excerpt from the Makefile (I'll attach it, it is not that big):
.SUFFIXES:
.SUFFIXES: .F90 .f90 .o
%.bin: %.o
$(LINK) -o $@ $(shell perl f90dep.pl link "$<") $(LIBS)
.F90.f90:
$(PREPROCESS) $< > $@
.f90.o:
$(COMPILE) -c -o $@ $<
I also have Makefile snippets that contain dependency information in .deps/ (they are auto-generated by the Makefile, but already up to date for the situation at hand).
Now, when I build a set of targets (final .bin programs), one intermediate .f90 file may not be generated and the build fails on the subsequent .o file, when running make with -j5 (could not reproduce with -j2 now).
This occurs with some randomness, sometimes the build works, sometimes not.
Single make is always fine, so I assume I got the rules and dependencies right. I hope the to-be-attached logs shed some light on this. Parallel make prunes misc/multiindex.f90 while single make builds it...
|