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

RESOLVED FIXED in mozilla16

Status

()

Core
Build Config
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: gaston, Assigned: glandium)

Tracking

unspecified
mozilla16
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

5 years ago
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.
(Reporter)

Comment 2

5 years ago
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
Created attachment 626516 [details] [diff] [review]
Make expandlibs commands generate dependencies like gcc does

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)
Created attachment 626715 [details] [diff] [review]
Make expandlibs commands generate dependencies like gcc does

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)
(Reporter)

Comment 7

5 years ago
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/integration/mozilla-inbound/rev/2d48da1f2bd7
Target Milestone: --- → mozilla16
https://hg.mozilla.org/mozilla-central/rev/2d48da1f2bd7
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Depends on: 763143

Comment 11

5 years ago
This caused SeaMonkey Bug 763143

Comment 12

5 years ago
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
You need to log in before you can comment on or make changes to this bug.