Closed Bug 1367662 Opened 5 years ago Closed 5 years ago

No longer possible to create a useful debug build

Categories

(Toolkit :: Telemetry, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: bzbarsky, Assigned: bzbarsky)

References

Details

Attachments

(1 file, 1 obsolete file)

Bug 1364727 broke non-optimized debug builds; i.e. the thing you would want to be using to actually debug anything.

The failure is:

22:55.32 Undefined symbols for architecture x86_64:
22:55.32   "mozilla::Unused", referenced from:
22:55.32       PingSender::DummyWriteCallback(char*, unsigned long, unsigned long, void*) in Unified_cpp_pingsender0.o
22:55.33 ld: symbol(s) not found for architecture x86_64
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Attachment #8871179 - Flags: review?(gsvelto)
Priority: -- → P1
Mh, I wonder why we don't have any treeherder coverage for this build configuration if is such an important one.

Also, I'm not sure linking against mozglue is a solution here. I'd rather silence the warnings without using mozilla::Unused.
(In reply to Alessio Placitelli [:Dexter] from comment #2)
> Also, I'm not sure linking against mozglue is a solution here. I'd rather
> silence the warnings without using mozilla::Unused.

Let me expand a bit on this, as I was too quick :)

We tried not to use other stuff from mozglue/xul, etc. to avoid linking against these libraries to keep the binary as simple and as small as possible. However, Gabriele knows more about this and can decide if it's ok to link against mozglue or not :)
Comment on attachment 8871179 [details] [diff] [review]
We need to link the library that actually implements the thing we're including

While this works I think that the proper fix is to use GeckoProgram, i.e.:

GeckoProgram('pingsender', linkage=None)

instead of

Program('pingsender')

I didn't use GeckoProgram when I introduced the pingsender precisely because I wasn't using mozglue. BTW I thought that Unused.h was a pure template which is way I didn't think about this.
Duplicate of this bug: 1367732
> I wonder why we don't have any treeherder coverage for this build configuration if is such an important one

Because the people setting up treeherder are not the people who have to actually debug Firefox.  This has been a perennial problem and a source of tons of wasted effort when things break, but repeated requests to have build coverage for basic debug builds keep getting ignored.
> I thought that Unused.h was a pure template

It's totally not.  See Unused.cpp.
Attachment #8871179 - Attachment is obsolete: true
Attachment #8871179 - Flags: review?(gsvelto)
(In reply to Boris Zbarsky [:bz] (work week until 5/26) (if a patch has no decent message, automatic r-) from comment #6)
> > I wonder why we don't have any treeherder coverage for this build configuration if is such an important one
> 
> Because the people setting up treeherder are not the people who have to
> actually debug Firefox.  This has been a perennial problem and a source of
> tons of wasted effort when things break, but repeated requests to have build
> coverage for basic debug builds keep getting ignored.

Gregory, do you happen to have an idea who to flag to make a basic compile smoke test happen?
Flags: needinfo?(gps)
I filed bug 1367751 in yet another attempt to get tree coverage for this sort of thing.
Flags: needinfo?(gps)
Comment on attachment 8871267 [details] [diff] [review]
Link pingsender to mozglue if we're using things that are defined in mfbt

Thanks!
Attachment #8871267 - Flags: review?(gsvelto) → review+
Pushed by bzbarsky@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f43ff529c515
Link pingsender to mozglue if we're using things that are defined in mfbt.  r=gsvelto
https://hg.mozilla.org/mozilla-central/rev/f43ff529c515
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
You need to log in before you can comment on or make changes to this bug.