Closed Bug 1692893 Opened 3 months ago Closed 3 months ago

System update causes build failure in atk headers.

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox-esr78 --- fixed
firefox85 --- wontfix
firefox86 --- wontfix
firefox87 --- fixed

People

(Reporter: emilio, Assigned: emilio)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

 0:01.98 In file included from /home/emilio/src/moz/gecko-3/accessible/atk/nsMaiInterfaceHyperlinkImpl.cpp:7:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/accessible/atk/InterfaceInitFuncs.h:10:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/obj-debug/dist/system_wrappers/atk/atk.h:3:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/other-licenses/atk-1.0/atk/atk.h:31:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/other-licenses/atk-1.0/atk/atkobject.h:27:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/obj-debug/dist/system_wrappers/glib-object.h:3:
 0:01.99 In file included from /usr/include/glib-2.0/glib-object.h:22:
 0:01.99 In file included from /usr/include/glib-2.0/gobject/gbinding.h:28:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/obj-debug/dist/system_wrappers/glib.h:3:
 0:01.99 In file included from /usr/include/glib-2.0/glib.h:30:
 0:01.99 In file included from /usr/include/glib-2.0/glib/galloca.h:32:
 0:01.99 In file included from /usr/include/glib-2.0/glib/gtypes.h:32:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/obj-debug/dist/system_wrappers/glibconfig.h:3:
 0:01.99 In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9:
 0:01.99 In file included from /usr/include/glib-2.0/glib/gmacros.h:241:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/obj-debug/dist/stl_wrappers/type_traits:52:
 0:01.99 In file included from /home/emilio/src/moz/gecko-3/obj-debug/dist/system_wrappers/type_traits:3:
 0:01.99 /usr/lib/gcc/x86_64-redhat-linux/10/../../../../include/c++/10/type_traits:56:3: error: templates must have C++ linkage
 0:01.99   template<typename _Tp, _Tp __v>
 0:01.99   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 0:01.99 /home/emilio/src/moz/gecko-3/other-licenses/atk-1.0/atk/atkobject.h:24:1: note: extern "C" language linkage specification begins here
 0:01.99 extern "C" {
 0:01.99 ^

Upstream atk headers don't suffer from this issue.

They include system headers inside extern "C", which seems wrong and
causes the issue. This is the minimal patch.

Alias: mach-buste
Blocks: mach-busted
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/84fb82e56b64
Minimal patch: Workaround atk extern "C" issue. r=Jamie
Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch

FWIW it looks like https://gitlab.gnome.org/GNOME/glib/commit/51003d409bb4b6c9a8540f70b92f8045abc4f0c9 added c++ to glib/gmacros.h in GLib 2.67.3. We may want to backport this to esr78 so this is fixed as distros update to glib 2.68?

(In reply to Julien Cristau [:jcristau] from comment #5)

FWIW it looks like https://gitlab.gnome.org/GNOME/glib/commit/51003d409bb4b6c9a8540f70b92f8045abc4f0c9 added c++ to glib/gmacros.h in GLib 2.67.3. We may want to backport this to esr78 so this is fixed as distros update to glib 2.68?

Thanks for finding that! Yeah, probably worth uplifting.

Comment on attachment 9203264 [details]
Bug 1692893 - Minimal patch: Workaround atk extern "C" issue. r=Jamie,sg

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: Build fix with newer glib
  • User impact if declined: none
  • Fix Landed on Version: 86
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Very simple build fix.
  • String or UUID changes made by this patch: none
Attachment #9203264 - Flags: approval-mozilla-esr78?
Attachment #9203263 - Flags: approval-mozilla-esr78?
Attachment #9203263 - Flags: approval-mozilla-esr78?

Comment on attachment 9203264 [details]
Bug 1692893 - Minimal patch: Workaround atk extern "C" issue. r=Jamie,sg

build fix, approved for 78.9esr

Attachment #9203264 - Flags: approval-mozilla-esr78? → approval-mozilla-esr78+
You need to log in before you can comment on or make changes to this bug.