Closed Bug 744750 Opened 12 years ago Closed 11 years ago

Build broken on Linux: "*** No rule to make target `.mkdir.done', needed by `configure'. Stop."

Categories

(Firefox Build System :: General, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 837754

People

(Reporter: roc, Unassigned)

References

Details

Attachments

(1 file)

Changeset 1f093ab9df77 caused my Linux build to start failing.

[roc@worship mozilla-central]$ mkdir obj-ff-opt2
[roc@worship mozilla-central]$ MOZCONFIG=~/.mozconfig-ff-opt gmake -C obj-ff-opt2 -j10 -f ../client.mk
gmake: Entering directory `/home/roc/mozilla-central/obj-ff-opt2'
gmake -f ../client.mk realbuild
gmake[1]: Entering directory `/home/roc/mozilla-central/obj-ff-opt2'
gmake[2]: Entering directory `/home/roc/mozilla-central/obj-ff-opt2'
gmake[2]: *** No rule to make target `.mkdir.done', needed by `configure'.  Stop.
gmake[2]: Leaving directory `/home/roc/mozilla-central/obj-ff-opt2'
gmake[1]: *** [Makefile] Error 2
gmake[1]: Leaving directory `/home/roc/mozilla-central/obj-ff-opt2'
gmake: *** [build] Error 2
gmake: Leaving directory `/home/roc/mozilla-central/obj-ff-opt2'

(Changeset 106c7696d3b7 works fine.)

[roc@worship mozilla-central]$ gmake -v
GNU Make 3.82
Built for x86_64-redhat-linux-gnu
Looks like something is causing ./.mkdir.done to collapse to ".mkdir.done" which then fails to match the %/.mkdir.done rule.
Attached patch fixSplinter Review
I don't understand why I get this error and other systems don't.

This patch makes my build work, but spews tons of warnings:
../config/makefiles/autotargets.mk:33: warning: overriding recipe for target `.mkdir.done'
../config/makefiles/autotargets.mk:33: warning: ignoring old recipe for target `.mkdir.done'
My Windows builds are broken with the same error.
Maybe my setup is unusual? In comment #0, mozilla-central is the directory holding the sources, and mozilla-central/obj-ff-opt2 is an objdir. You can see the command line I use to build.
The underlying problem is a few makefile targets {using alternate paths based on os} are attempting to: "mkdir ." and there is not a library rule in place to handle the condition.

This patch can be applied to convert the cryptic failure into a warning:
   http://bugzilla.mozilla.org/show_bug.cgi?id=742835

Another bug is open to cleanup the dot references and morph the warning into an error.
Depends on: 742835
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: