./mach build binaries cannot make objdir/dist/sdk/bin/header.py

NEW
Unassigned

Status

Firefox Build System
General
5 years ago
5 months ago

People

(Reporter: Ehsan, Unassigned)

Tracking

Trunk
x86
Mac OS X

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

5 years ago
$ ./mach build binaries
 0:00.18 /usr/bin/make -j8 -s binaries
 0:01.28 From ./dist/public: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:01.28 From ./dist/private: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:01.28 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:01.28 From ./dist/bin: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:01.37 From ./dist/idl: Kept 1158 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:01.53 From ./dist/include: Kept 3534 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:02.54 From _tests: Kept 11170 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:03.02 make[2]: *** No rule to make target `/Users/ehsanakhgari/moz/mozilla-central/obj-ff-dbg/dist/sdk/bin/header.py', needed by `xpcAccEvents.cpp'.  Stop.
 0:03.02 make[1]: *** [accessible/src/xpcom/binaries] Error 2
 0:03.02 make[1]: *** Waiting for unfinished jobs....
 0:03.10 nsPresContext.o
 0:06.09 libgkbase_s.a.desc
 0:06.28 make: *** [binaries] Error 2

Comment 1

5 years ago
This is a race condition between xpcom/idl-parser and accessible/src/xpcom (latter depends on the former). XPIDLs, the other part of the tree that relies on header.py, has an explicit call out to xpcom/idl-parser in xpcom/xpidl/Makefile.in.
(Reporter)

Comment 2

5 years ago
(In reply to comment #1)
> This is a race condition between xpcom/idl-parser and accessible/src/xpcom
> (latter depends on the former). XPIDLs, the other part of the tree that relies
> on header.py, has an explicit call out to xpcom/idl-parser in
> xpcom/xpidl/Makefile.in.

I tried this maybe ~10 times, and it failed every single time...

Comment 3

5 years ago
Probably because the order of the traversal is deterministic, even though the directory dependency graph is technically flat for the export traversal.

So, uh, there is already a manual dependency at the bottom of /Makefile.in:

accessible/src/xpcom/export: xpcom/xpidl/export

This should work :/
Did you build once already? (without "binaries")
(Reporter)

Comment 5

5 years ago
(In reply to comment #4)
> Did you build once already? (without "binaries")

Yes.
(Reporter)

Comment 6

5 years ago
Remember that I had some set of random changes to my tree when I tried ./mach build binaries, of course.  They were all in C++ code though.
> 0:01.28 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.

That's weird.
(Reporter)

Comment 8

5 years ago
(In reply to comment #7)
> > 0:01.28 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
> 
> That's weird.

Really?  I get this kind of thing (all numbers being 0) fairly often.
(In reply to :Ehsan Akhgari (needinfo? me!) from comment #8)
> (In reply to comment #7)
> > > 0:01.28 From ./dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
> > 
> > That's weird.
> 
> Really?  I get this kind of thing (all numbers being 0) fairly often.

I just verified I'm getting the same. What's weird is that header.py wouldn't be there afterwards. It is, here (because of the NO_REMOVE)

Updated

5 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.