On Fri 07 Jan 2022 at 14:12:12 +0100, Frédéric Fauberteau wrote: > The incriminated target is in work/ghostscript-9.55.0/base/unix-dll.mak: > > $(GSSOC_XE): gs-so-links-subtarget $(PSSRC)dxmainc.c $(UNIX_DLL_MAK) $(MAKEDIRS) > $(GLCC) $(GLO_)dxmainc.$(OBJ) $(C_) $(PSSRC)dxmainc.c > $(GLCC) -L$(BINDIR) -L$(PREFIX)/lib -Wl,-R$(PREFIX)/lib $(LDFLAGS) $(O_) $(GSSOC_XE) $(GLOBJ)dxmainc.$(OBJ) -l$(GS_SO_BASE) > > I have the feeling that there is no precedence between the two recipes > of this target and sometimes, the second can be executed just before > the first in such a way that ./soobj/dxmainc.o has not been completly > generated or not generated at all. I think that the order between those two lines of the recipe is well defined. But after staring at it a bit (without further knowledge about the Makefile), I notice that what I think is the object file differs in the two command: - $(GLO_)dxmainc.$(OBJ) - $(GLOBJ)dxmainc.$(OBJ) which looks weird. A scenario that came up in one of the lists earlier was that the recipe is, for whatever reason, running twice in parallel. So two processes are creating the file ./soobj/dxmainc.o more or less at the same time, and then when line 2 of one instance of the recipe wants to run, the other instance has partially overwritten the file... -Olaf. -- ___ "Buying carbon credits is a bit like a serial killer paying someone else to \X/ have kids to make his activity cost neutral." -The BOFH falu.nl@rhialto
Attachment:
signature.asc
Description: PGP signature