Closed Bug 837175 Opened 7 years ago Closed 7 years ago

Clean builds broken with make: *** No rule to make target `/data/jenkins/jobs/build-unagi-eng/workspace/gaia/profile.tar.gz'

Categories

(Firefox OS Graveyard :: GonkIntegration, defect)

x86_64
Windows 7
defect
Not set

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: jgriffin, Assigned: jhford)

References

Details

On a clean build (in which the build needs to download xulrunner), the build fails with:

make: *** No rule to make target `/data/jenkins/jobs/build-unagi-eng/workspace/gaia/profile.tar.gz', needed by `out/target/product/unagi/system/gecko'.  Stop.

This occurs because it's looking for the gaia profile before xulrunner has even finished downloading, so naturally the gaia profile doesn't exist.

This is breaking the builds that get used in the app startup performance tests.
Summary: Clean builds broken with smake: *** No rule to make target `/data/jenkins/jobs/build-unagi-eng/workspace/gaia/profile.tar.gz' → Clean builds broken with make: *** No rule to make target `/data/jenkins/jobs/build-unagi-eng/workspace/gaia/profile.tar.gz'
John, can you take a look and help with this one?
Assignee: nobody → jhford
This seems to be caused by a combination of things.

Fundamentally, the problem was introduced in bug 832165

When using a gaia without 832165, the dependency (from gaia/Android.mk)

$(LOCAL_PATH)/profile.tar.gz:

resolves to:

gaia/profile.tar.gz

However, the gonk-misc/Android.mk dependency of $(GAIA_PATH)/profile.tar.gz

resolves to /home/work/B2G-unagi/gaia/profile.tar.gz

I saw this while using gaia from v1-train (what ./config.sh checks out) which deosn't have bug 832165 applied and mozilla-inbound, which has bug 832165 applied.
Rerunning the make a second time works, since the profile.tar.gz will actually exist and won't need to follow the dependency chain.
I was mistaken. Running the build a second time doesn't help.
Modifying the gaia/Android.mk in the v1-train tree from:

.PHONY: $(LOCAL_PATH)/profile.tar.gz
$(LOCAL_PATH)/profile.tar.gz:

to:

.PHONY: $(abspath $(LOCAL_PATH))/profile.tar.gz $(LOCAL_PATH)/profile.tar.gz
$(abspath $(LOCAL_PATH))/profile.tar.gz $(LOCAL_PATH)/profile.tar.gz:

allows the mixed trees to work.

What the above change does is essentially to have gaia/Android.mk have rules for both the relative and absolsute versions of profile.tar.gz
Grr - I'm going shutup until I have a build that works all the way...
I haven't been able to reliably reproduce this issue.  What branches do I need to be on for this to happen?
This occurs in Jenkins where we just do:

./config.sh unagi
./build.sh
Ok, I'm seeing it now (had to run ./build.sh without arguments to trigger it)
Unrelated to this issue, it's strange that we're using the Android.mk that's in the repo-managed copy of gaia to control a build for a copy of Gaia that has its own unused Android.mk file elsewhere, in $(GAIA_PATH)/Android.mk.
I've seen developers on IRC being affected by this and I don't think there is a quick fix.

Dave, would you be opposed to backing out the changes that allow setting GAIA_PATH while we figure out what's going on?  What motivated us to have GAIA_PATH in the first place?
Depends on: 837265
The offending change (bug 832165) is a multiple part patch, requiring a gaia and gonk-misc patch to land simultaneously.  The gonk-misc part landed on the gonk-misc master branch (cdc0b4456aef26c5e0e26c1f0766db25671d8947), but the required gaia portion never did.  Unless we uplift the gaia portion to v1-train/v1.0.0, we're going to have to wait until we have a v1-train branch of gonk-misc (bug 837265) so we can point pre-832165 gaia branches at a pre-832165 copy of gonk-misc.


I'm going to back out the gonk-misc changeset so we can have working builds again.

Releng, if your snapshots contain the cdc0b4456aef26c5e0e26c1f0766db25671d8947 changest, please regenerate them once I've landed the backout.
Backed out on gonk-misc

commit f46dac73e6256c25763764d5fa26ac1bdf1417ba
Author: John Ford <john@johnford.info>
Date:   Fri Feb 1 14:10:27 2013 -0800

    backout bug 832165 because it caused bug 837175 and broke everyone
I am back to a working build, so marking as fixed.  Please reopen if you see that this is still happening and you have verified that your gonk-misc has f46dac73e6256c25763764d5fa26ac1bdf1417ba

You can check with:
git branch --contains f46dac73e6256c25763764d5fa26ac1bdf1417ba
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
(In reply to John Ford [:jhford] from comment #12)
> The offending change (bug 832165) is a multiple part patch, requiring a gaia
> and gonk-misc patch to land simultaneously.  The gonk-misc part landed on
> the gonk-misc master branch (cdc0b4456aef26c5e0e26c1f0766db25671d8947), but
> the required gaia portion never did.  Unless we uplift the gaia portion to
> v1-train/v1.0.0, we're going to have to wait until we have a v1-train branch
> of gonk-misc (bug 837265) so we can point pre-832165 gaia branches at a
> pre-832165 copy of gonk-misc.
> 
> 
> I'm going to back out the gonk-misc changeset so we can have working builds
> again.
> 
> Releng, if your snapshots contain the
> cdc0b4456aef26c5e0e26c1f0766db25671d8947 changest, please regenerate them
> once I've landed the backout.

1) Yikes, I only found this comment by accident. Unclear if anyone in RelEng is aware of this. Going forward, please file specific bug in RelEng so things like this are not missed, and we will track the work of doing matching backouts done.

2) I've filed bug#837517 to track investigate-and-possible-rebuild-of-snapshot.
Our builds are back (both pvt + releases.*); verified FIXED, thanks all!
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.