Frédéric Fauberteau <triaxx%triaxx.org@localhost> writes: > I tried a lot of '~/pkg/bin/bmake clean && ~/pkg/bin/bmake MAKE_JOBS=3 build' and I get the following error: > > gmake[2]: Entering directory '/home/triaxx/pkgsrc/print/ghostscript-agpl/work/ghostscript-9.55.0' > ld: ./soobj/dxmainc.o: file not recognized: file truncated > > 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 don't think make is allowed to parallelize commands in one target. > When I read make(1): > > -O[type], --output-sync[=type] > When running multiple jobs in parallel with -j, ensure the output > of each job is collected together rather than interspersed with > output from other jobs. If type is not specified or is target the > output from the entire recipe for each target is grouped together. This is about showing the logs nicely, not about the actual order, as I understand it. > Would it be reasonable to define MAKE_JOBS_SAFE=no for this package? I > don't think it's a big waste of computing time since the package is > not that big . Have you filed a bug with upstream? I think you've more or less showed that something is wrong. But I am finding the $(GLO_) vs $(GLOBJ) confusing.
Attachment:
signature.asc
Description: PGP signature