Build failure due to failure to include mozilla/a11y/Logging.h in opt build on Mac

RESOLVED FIXED in Firefox 58

Status

()

Core
Build Config
--
blocker
RESOLVED FIXED
16 days ago
15 days ago

People

(Reporter: bz, Assigned: glandium)

Tracking

53 Branch
mozilla58
Points:
---

Firefox Tracking Flags

(firefox58 fixed)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

I am getting a failure like so while building a --disable-debug build on Mac:

 0:20.37 In file included from /Users/bzbarsky/mozilla/inbound/obj-firefox-opt/layout/base/Unified_cpp_layout_base0.cpp:74:
 0:20.37 /Users/bzbarsky/mozilla/inbound/mozilla/layout/base/PresShell.cpp:130:10: fatal error: 'mozilla/a11y/Logging.h' file not found
 0:20.37 #include "mozilla/a11y/Logging.h"

The relevant bit of PresShell.cpp is:

  #ifdef ACCESSIBILITY
  #include "nsAccessibilityService.h"
  #include "mozilla/a11y/DocAccessible.h"
  #ifdef DEBUG
  #include "mozilla/a11y/Logging.h"
  #endif
  #endif

and clearly DEBUG ought not to be defined!

Bisect says this is caused by the fix for bug 1411156.  Which is at least _possible_, I guess, because the export condition for that Logging.h file in accessible/base/moz.build is:

  if CONFIG['MOZ_DEBUG']:
      EXPORTS.mozilla.a11y += [
          'Logging.h',
      ]
Ah, this is a reprise of bug 861453 and bug 1281603 and so forth...
(Assignee)

Comment 2

16 days ago
To summarize the irc discussion:

The problem is that having MOZ_DEBUG set in the environment leads to a franken-build, where configure thinks it's doing a --disable-debug build, but old-configure thinks it's doing a --enable-debug build, leading to DEBUG being defined. The franken-build situation is a consequence of bug 1411156.

One might ask why people would set MOZ_DEBUG in their environment, and the answer is because of bug 699538:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2b4e9accde67
Comment hidden (mozreview-request)
(Assignee)

Updated

16 days ago
Assignee: nobody → mh+mozilla

Comment 4

16 days ago
mozreview-review
Comment on attachment 8926597 [details]
Bug 1415686 - Ensure both configure and old-configure agree on what MOZ_DEBUG means.

https://reviewboard.mozilla.org/r/197826/#review203068

Can we file a follow up to change the environment variable used for bug 699538?

::: moz.configure:112
(Diff revision 1)
>          return bool(debug)
>  
>  set_config('MOZ_DEBUG', moz_debug)
>  set_define('MOZ_DEBUG', moz_debug)
> -add_old_configure_assignment('MOZ_DEBUG', moz_debug)
> +add_old_configure_assignment('MOZ_DEBUG',
> +                             depends('--enable-debug')(lambda x: bool(x)))

Because this is almost but not quite exactly the definition of `moz_debug` above, a comment would be nice here.
Attachment #8926597 - Flags: review+
Attachment #8926597 - Flags: review?(core-build-config-reviews)
Comment hidden (mozreview-request)
(Assignee)

Updated

16 days ago
Attachment #8926597 - Flags: review?(core-build-config-reviews)

Comment 6

16 days ago
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/706b069128e3
Ensure both configure and old-configure agree on what MOZ_DEBUG means. r=chmanchester
This came up in bug 1281603 and bug 861453 in the past.  I filed bug 1415741 to use a different env var in the cocoa code...
https://hg.mozilla.org/mozilla-central/rev/706b069128e3
Status: NEW → RESOLVED
Last Resolved: 15 days ago
status-firefox58: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in before you can comment on or make changes to this bug.