Julien Grall writes ("Re: [Xen-devel] Xen 4.9 rc6"): > On 23/05/17 10:24, M A Young wrote: > > I had build problems with these two patches added (and before I added > > them). It looks like at the stage in my build process where > > make -j2 prefix=/usr tools > > gets run it is running > > make -C tools/include install > > make -C tools/include dist > > together and it fails soon after when the alignment checks run at the same > > time.
I think this is happening because, in xen.git/Makeefile: dist-tools: dist-tools-public-headers dist-%: DESTDIR=$(DISTDIR)/install dist-%: install-% @: # do nothing install-tools: build-tools-public-headers So make thinks it can try to `build' the targets build-tools-public-headers and dist-tools-public-headers simultaneously. The problem here is that 1. /Makefile needs to invoke each subdirectory exactly once, not multiple times, or they come in parallel 2. /Makefile is (now) confused about when it should handle the relationship between different targets for the same subcomponent, and when the subdirectory Makefile is supposed to do that. The rule for (2) used to be: /Makefile converts make dist to DESTDIR=... make install for all other targets, /Makefile's make <target>-<subdir> passes the <target> to <subdir> and does not consider what <target> might mean and whether it ought to imply some other targets in subdir. I think therefore that maybe this can fixed by: * Dropping the `dist-tools' dependency on dist-tools-p.-h. * Replacing the `install-tools' dependency by one on install-tools-p-h. * Replacing the rules for *-public-headers with something like %-tools-public-headers: $(MAKE) -C tools/include $* Does this sound plausible ? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel