Closed Bug 757339 Opened 11 years ago Closed 11 years ago

No rule to make target `../../gfx/ots/src/libmozots.a', needed by `libgkmedias.a.desc'. Stop.

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla16

People

(Reporter: gaston, Assigned: glandium)

References

Details

Attachments

(1 file, 1 obsolete file)

This happens once in a while on my buildbot, where make clean is ran if the build succeeds otherwise the objdir is let as-is. It happens on builds that previously failed or not.

objdir/gfx/ots/src contains all the objfiles and libmozots.a.desc but not libmozots.a.

Removing objdir "fixes" it until it happens again. rnewman also saw it on macos.

Such occurences (but i have way more in the backlog, i can dig for all of them)

http://buildbot.rhaalovely.net/builders/mozilla-central-amd64/builds/399/steps/build/logs/stdio
http://buildbot.rhaalovely.net/builders/comm-central-i386/builds/172/steps/build/logs/stdio
FTR, this comes from .deps/libs being generated at inconvenient times.
A change in that timeframe probably triggered it for that occurence : https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=fb3036d9b9&tochange=64187d60fa
This routinely occurs on my Mac as of yesterday, regardless of blowing away objdir/gfx. Next up will be blowing away the entire objdir.

I saved objdir/gfx from my first failed build, if you want a look.
OS: OpenBSD → All
(In reply to Richard Newman [:rnewman] from comment #3)
> This routinely occurs on my Mac as of yesterday, regardless of blowing away
> objdir/gfx. Next up will be blowing away the entire objdir.
> 
> I saved objdir/gfx from my first failed build, if you want a look.

You need to remove the $objdir/layout/media/.deps/libs file if you want to avoid removing the entire objdir.
Assignee: nobody → mh+mozilla
This is a more elegant approach to bug 644608, which solves issues with missing files by using the same logic as compilation dependencies (thus using mddepend.pl).
<none>
Attachment #626516 - Flags: review?(ted.mielczarek)
Changes since last patch:
- safer mkdir
- don't include directories in dependencies
- try to remove as much commands as possible, including wrappers such as distcc or ccache
Attachment #626715 - Flags: review?(ted.mielczarek)
Attachment #626516 - Attachment is obsolete: true
Attachment #626516 - Flags: review?(ted.mielczarek)
The same failure happened when building aurora tonight, so a bit after the last m-c->aurora uplift.
Comment on attachment 626715 [details] [diff] [review]
Make expandlibs commands generate dependencies like gcc does

Review of attachment 626715 [details] [diff] [review]:
-----------------------------------------------------------------

::: config/expandlibs_exec.py
@@ +314,5 @@
> +    if not options.depend:
> +        return
> +    ensureParentDir(options.depend)
> +    with open(options.depend, 'w') as depfile:
> +        print >>depfile, options.target, ':', ' '.join(dep for dep in deps if os.path.isfile(dep) and dep != options.target)

I'm not a big fan of just using commas here. Use a string with formatting instead. Also, print>> is a little weird, maybe just depfile.write()?

::: config/expandlibs_gen.py
@@ +43,5 @@
> +        print >>outfile, generate(args)
> +    if options.depend:
> +        ensureParentDir(options.depend)
> +        with open(options.depend, 'w') as depfile:
> +            print >>depfile, options.output, ':', ' '.join(ExpandLibsDeps(args))

Same as above.
Attachment #626715 - Flags: review?(ted.mielczarek) → review+
https://hg.mozilla.org/mozilla-central/rev/2d48da1f2bd7
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Depends on: 763143
This caused SeaMonkey Bug 763143
This has also broken Thunderbird builds, with a similar error, at least on my machine, using pymake on windows. Presumably, similar changes need to be made to comm-central/config/config.mk and rules.mk?
Depends on: 766793
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.