Closed
Bug 1242074
Opened 7 years ago
Closed 7 years ago
make[6]: *** No rule to make target `platform.ini'. Stop.
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox46 fixed)
RESOLVED
FIXED
mozilla46
Tracking | Status | |
---|---|---|
firefox46 | --- | fixed |
People
(Reporter: gps, Assigned: gps)
References
Details
Attachments
(3 files)
58 bytes,
text/x-review-board-request
|
glandium
:
review+
|
Details |
1.49 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
2.54 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
On OS X using GNU Make 3.81, I'm getting a failure building in artifact mode after bug 1239217: /Applications/Xcode.app/Contents/Developer/usr/bin/make -C /Users/gps/src/firefox/objdir/toolkit/xre/ platform.ini /Users/gps/src/firefox/objdir/_virtualenv/bin/python /Users/gps/src/firefox/toolkit/xre/make-platformini.py --buildid=20160122153750 --sourcestamp=7104d650a97d895cbbc64d53462bf86a04658abe /Users/gps/src/firefox/config/milestone.txt > platform.ini /Applications/Xcode.app/Contents/Developer/usr/bin/make -C /Users/gps/src/firefox/objdir/dist/bin/ platform.ini make[4]: *** No rule to make target `platform.ini'. Stop. make[3]: *** [/Users/gps/src/firefox/objdir/dist/bin/platform.ini] Error 2 make[2]: *** [faster] Error 2 make[1]: *** [pre-export] Error 2 make: *** [default] Error 2 From `make --debug`: File `/Users/gps/src/firefox/objdir/dist/bin/platform.ini' does not exist. Prerequisite `FORCE' of target `/Users/gps/src/firefox/objdir/toolkit/xre/platform.ini' does not exist. Prerequisite `/Users/gps/src/firefox/objdir/config/buildid' is newer than target `/Users/gps/src/firefox/objdir/toolkit/xre/platform.ini'. Must remake target `/Users/gps/src/firefox/objdir/toolkit/xre/platform.ini'. /Applications/Xcode.app/Contents/Developer/usr/bin/make -C /Users/gps/src/firefox/objdir/toolkit/xre/ platform.ini ... Updating goal targets.... File `FORCE' does not exist. Must remake target `FORCE'. Successfully remade target file `FORCE'. Prerequisite `FORCE' of target `platform.ini' does not exist. Must remake target `platform.ini'. /Users/gps/src/firefox/objdir/_virtualenv/bin/python /Users/gps/src/firefox/toolkit/xre/make-platformini.py --buildid=20160122153837 --sourcestamp=7104d650a97d895cbbc64d53462bf86a04658abe /Users/gps/src/firefox/config/milestone.txt > platform.ini Successfully remade target file `platform.ini'. Successfully remade target file `/Users/gps/src/firefox/objdir/toolkit/xre/platform.ini'. Must remake target `/Users/gps/src/firefox/objdir/dist/bin/platform.ini'. /Applications/Xcode.app/Contents/Developer/usr/bin/make -C /Users/gps/src/firefox/objdir/dist/bin/ platform.ini Updating goal targets.... File `platform.ini' does not exist. Must remake target `platform.ini'. make[4]: *** No rule to make target `platform.ini'. Stop. make[3]: *** [/Users/gps/src/firefox/objdir/dist/bin/platform.ini] Error 2 make[2]: *** [faster] Error 2 make[1]: *** [pre-export] Error 2 make: *** [default] Error 2 --- From config/faster/rules.mk: $(TOPOBJDIR)/%: FORCE $(MAKE) -C $(dir $@) $(notdir $@) $(TOPOBJDIR)/faster/%: ; $(TOPOBJDIR)/dist/%: rm -f $@ mkdir -p $(@D) cp $< $@ Due to an apparent bug in GNU Make 3.81, the $(TOPOBJDIR)/% rule is being used instead of $(TOPOBJDIR)/dest/%. (The static pattern rule with the shortest stem is supposed to be used.) This issue is not present in GNU Make 4.1. Patch forthcoming.
Assignee | ||
Comment 1•7 years ago
|
||
Recent changes in bug 1239217 added the faster backend to the default build mechanism for artifact builds. This seems to have uncovered a bug in GNU Make 3.81 where the static pattern rule with the shortest stem wasn't executed as it should be. We re-define the install rule for platform.ini to work around this bug. Review commit: https://reviewboard.mozilla.org/r/32027/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/32027/
Attachment #8711220 -
Flags: review?(mh+mozilla)
Assignee | ||
Comment 2•7 years ago
|
||
Comment on attachment 8711220 [details] MozReview Request: Bug 1242074 - Reorder pattern rules to placate GNU Make 3.81; r?glandium Review request updated; see interdiff: https://reviewboard.mozilla.org/r/32027/diff/1-2/
Attachment #8711220 -
Attachment description: MozReview Request: Bug 1242074 - Define rule for platform.ini to work around GNU Make 3.81 bug; r?glandium → MozReview Request: Bug 1242074 - Reorder pattern rules to placate GNU Make 3.81; r?glandium
Comment 3•7 years ago
|
||
Comment on attachment 8711220 [details] MozReview Request: Bug 1242074 - Reorder pattern rules to placate GNU Make 3.81; r?glandium https://reviewboard.mozilla.org/r/32027/#review28781 Please wait before landing, I have additional 3.81 related fixes incoming that I will attach to this bug and want landed alongside. ::: config/faster/rules.mk:82 (Diff revision 2) > +# Generic rule to fall back to the recursive make backend Please add a comment that this needs to stay after the other $(TOPOBJDIR)/foo stuff because.
Attachment #8711220 -
Flags: review?(mh+mozilla) → review+
Comment 4•7 years ago
|
||
For some reason, recent changes with the install-dist/% rules broke the dummy wrapper used by `mach build faster`, leading to `Nothing to be done for install-dist_idl.`, subsequently failing to build xpt files because of the missing idls in dist/idl.
Comment 5•7 years ago
|
||
FasterMake needs some RecursiveMake install manifests to have been processed before doing its work, so we can actually end up processing them twice because of the going back and forth from FasterMake in the hybrid build system. Set the dependency at the RecursiveMake level when doing an hybrid build.
Updated•7 years ago
|
Attachment #8711238 -
Flags: review?(gps)
Updated•7 years ago
|
Attachment #8711239 -
Flags: review?(gps)
Assignee | ||
Updated•7 years ago
|
Attachment #8711238 -
Flags: review?(gps) → review+
Assignee | ||
Updated•7 years ago
|
Attachment #8711239 -
Flags: review?(gps) → review+
Assignee | ||
Comment 6•7 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/6e3530547a818177ff0e100d2f0d34ee2bc53618 Bug 1242074 - Reorder pattern rules to placate GNU Make 3.81; r=glandium https://hg.mozilla.org/integration/mozilla-inbound/rev/8acdf3c85c6aaf30f564094b84b7514ade7a3386 Bug 1242074 - Fix top-level install-dist_% rules; r=gps https://hg.mozilla.org/integration/mozilla-inbound/rev/1378b39a9085890ce142e6933ebd50b6537f4ec5 Bug 1242074 - Avoid going back and forth between FasterMake and RecursiveMake; r=gps
Comment 7•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/6e3530547a81 https://hg.mozilla.org/mozilla-central/rev/8acdf3c85c6a https://hg.mozilla.org/mozilla-central/rev/1378b39a9085
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox46:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
Updated•5 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•