Closed Bug 1745560 Opened 1 year ago Closed 1 year ago

Firefox 91.4 fails to build against wayland 1.20

Categories

(Core :: Widget: Gtk, defect, P3)

Firefox 91
Desktop
Linux
defect

Tracking

()

RESOLVED FIXED
97 Branch
Tracking Status
firefox-esr91 --- fixed
firefox95 --- wontfix
firefox96 --- fixed
firefox97 --- fixed

People

(Reporter: mozilla, Assigned: mozilla, NeedInfo)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Firefox 91.4.0 fails to build after the upgrade of wayland to 1.20:

43:40.87 /usr/bin/ld: /home/buildozer/aports/community/firefox-esr/src/firefox-91.4.0/obj-powerpc64le-unknown-linux-musl/toolkit/library/build/../../../gfx/gl/Unified_cpp_gfx_gl0.o: in function `wl_surface_destroy(wl_surface*)':
43:40.87 /usr/include/wayland-client-protocol.h:3672: undefined reference to `wl_proxy_marshal_flags'
43:40.87 /usr/bin/ld: /home/buildozer/aports/community/firefox-esr/src/firefox-91.4.0/obj-powerpc64le-unknown-linux-musl/toolkit/library/build/../../../gfx/gl/Unified_cpp_gfx_gl0.o: in function `wl_compositor_create_surface(wl_compositor*)':
43:40.87 /usr/include/wayland-client-protocol.h:1291: undefined reference to `wl_proxy_marshal_flags'
43:46.60 /usr/bin/ld: /home/buildozer/aports/community/firefox-esr/src/firefox-91.4.0/obj-powerpc64le-unknown-linux-musl/toolkit/library/build/../../../gfx/layers/Unified_cpp_gfx_layers1.o: in function `wl_surface_commit(wl_surface*)':
43:46.60 /usr/include/wayland-client-protocol.h:3914: undefined reference to `wl_proxy_marshal_flags'
43:46.60 /usr/bin/ld: /home/buildozer/aports/community/firefox-esr/src/firefox-91.4.0/obj-powerpc64le-unknown-linux-musl/toolkit/library/build/../../../gfx/layers/Unified_cpp_gfx_layers1.o: in function `wl_subsurface_place_below(wl_subsurface*, wl_surface*)':
43:46.60 /usr/include/wayland-client-protocol.h:5996: undefined reference to `wl_proxy_marshal_flags'
43:46.60 /usr/bin/ld: /home/buildozer/aports/community/firefox-esr/src/firefox-91.4.0/obj-powerpc64le-unknown-linux-musl/toolkit/library/build/../../../gfx/layers/Unified_cpp_gfx_layers1.o: in function `wl_subsurface_place_above(wl_subsurface*, wl_surface*)':
43:46.60 /usr/include/wayland-client-protocol.h:5983: undefined reference to `wl_proxy_marshal_flags'
43:46.60 /usr/bin/ld: /home/buildozer/aports/community/firefox-esr/src/firefox-91.4.0/obj-powerpc64le-unknown-linux-musl/toolkit/library/build/../../../gfx/layers/Unified_cpp_gfx_layers1.o:/usr/include/wayland-client-protocol.h:5983: more undefined references to `wl_proxy_marshal_flags' follow

The following patch seems to fix it:

diff --git a/widget/gtk/mozwayland/mozwayland.c b/widget/gtk/mozwayland/mozwayland.c
index 7a448e6..7792581 100644
--- a/widget/gtk/mozwayland/mozwayland.c
+++ b/widget/gtk/mozwayland/mozwayland.c
@@ -200,3 +200,8 @@ MOZ_EXPORT int wl_list_empty(const struct wl_list* list) { return -1; }

 MOZ_EXPORT void wl_list_insert_list(struct wl_list* list,
                                     struct wl_list* other) {}
+
+MOZ_EXPORT struct wl_proxy *
+wl_proxy_marshal_flags(struct wl_proxy *proxy, uint32_t opcode,
+                      const struct wl_interface *interface, uint32_t version,
+                      uint32_t flags, ...) { return NULL; }

This affect Alpine Linux, and apparently also gentoo

The Bugbug bot thinks this bug should belong to the 'Core::Graphics' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → Graphics
Product: Firefox → Core
Blocks: wayland
Component: Graphics → Widget: Gtk

Do you mind to submit the patch via phabricator?
https://moz-conduit.readthedocs.io/en/latest/phabricator-user.html
Thanks.

Flags: needinfo?(mozilla)
Assignee: nobody → mozilla

Patch submitted

Flags: needinfo?(mozilla)
Priority: -- → P3

Do I understand correctly that you want to backport it to 91 ESR line?

Flags: needinfo?(mozilla)
Pushed by stransky@redhat.com:
https://hg.mozilla.org/integration/autoland/rev/f7e2cf808d30
Add missing stub for wl_proxy_marshal_flags, r=stransky
Status: UNCONFIRMED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 97 Branch

I'd like to submit this one for FF96 as it breaks building FF when Wayland 1.20 headers are present.

Comment on attachment 9254937 [details]
Bug 1745560 - Add missing stub for wl_proxy_marshal_flags, r=stransky

Beta/Release Uplift Approval Request

  • User impact if declined: Firefox fails to build when wayland-1.20 headers are present.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce: Build FF in wayland-1.2o environment (Fedora 36 for instance).
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Low risk, adds a function placeholder.
  • String changes made/needed:
Attachment #9254937 - Flags: approval-mozilla-beta?

Comment on attachment 9254937 [details]
Bug 1745560 - Add missing stub for wl_proxy_marshal_flags, r=stransky

Approved for 96.0b9

Attachment #9254937 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Do we need this on ESR also?

Flags: needinfo?(stransky)

Comment on attachment 9254937 [details]
Bug 1745560 - Add missing stub for wl_proxy_marshal_flags, r=stransky

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: Firefox fails to build when wayland-1.20 headers are present.
  • User impact if declined:
  • Fix Landed on Version: 96
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Low risk, adds a function placeholder.
Flags: needinfo?(stransky)
Attachment #9254937 - Flags: approval-mozilla-esr91?

Comment on attachment 9254937 [details]
Bug 1745560 - Add missing stub for wl_proxy_marshal_flags, r=stransky

Approved for 91.6esr.

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