Closed Bug 1776724 Opened 2 years ago Closed 2 years ago

fatal error: 'mozilla/gfx/XlibDisplay.h' file not found when trying to build wayland-only

Categories

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

Firefox 102
defect

Tracking

()

RESOLVED FIXED
104 Branch
Tracking Status
firefox104 --- fixed

People

(Reporter: juippis, Assigned: owen)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Attached file build.log.xz

Steps to reproduce:

Try to build wayland-only firefox-102.0 by passing --enable-default-toolkit=cairo-gtk3-wayland-only

Actual results:

2:47.43 gfx/angle/targets/angle_common/PoolAlloc.o
2:47.51 In file included from /var/tmp/portage/www-client/firefox-102.0/work/firefox-102.0/gfx/gl/GLContextProviderGLX.cpp:34:
2:47.51 /var/tmp/portage/www-client/firefox-102.0/work/firefox-102.0/gfx/gl/GLXLibrary.h:12:10: fatal error: 'mozilla/gfx/XlibDisplay.h' file not found
2:47.51 #include "mozilla/gfx/XlibDisplay.h"
2:47.51 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
2:47.53 BUILDSTATUS OBJECT_FILE Unified_cpp_dom_xul1.o

Expected results:

Build should pass and provide a wayland-only version of Firefox. Note that this worked on 101.0.1.

Current patches: bugs:
1772719
1772721
1772513

Build.log attached as compressed file (since it's 9 MB).

Patches included. The relevant ones are
0041-p01-bmo-1772719-build-wayland-only.patch
0042-p02-bmo-1772721-build-wayland-only-D148496fixed.patch
0043-p02-bmo-1772721-build-wayland-only.patch
0044-p03-bmo-1772513-build-wayland-only-D148256.patch
0045-p04-bmo-1772513-build-wayland-only-D148257.patch

Component: Untriaged → Widget: Gtk
Depends on: 1661450
Product: Firefox → Core
Blocks: wayland
Priority: -- → P3

Please submit the patches via phabricator.services.mozilla.com
Thanks.

Hey,

sorry for being unclear. I'm not aware of a patch that fixes this, I just wanted to list what wayland-related patches I applied in case they'd break something in the build system. Basically these are applied on top of 102.0:
https://hg.mozilla.org/mozilla-central/rev/2e739b8c44c7
https://hg.mozilla.org/integration/autoland/rev/71f770d93407
https://hg.mozilla.org/mozilla-central/rev/a600bcea00c1
https://hg.mozilla.org/mozilla-central/rev/60aa55fa4489
https://hg.mozilla.org/mozilla-central/rev/0e7aea0696f7

But I tried to compile firefox-102.0 without applying any of those aforementioned patches and it basically fails to the same issue anyway. Although if I remember correctly it handles X dep somehow automatically without (set) of those patches.

Both --enable-default-toolkit=cairo-gtk3-x11-wayland and --enable-default-toolkit=cairo-gtk3 work, so there seems to be some sort of an issue with --enable-default-toolkit=cairo-gtk3-x11-wayland where it may try to enable X functionality if it finds some deps? Or just some other way new code added between 101.0.1 -> 102.0 that isn't guarded like https://hg.mozilla.org/mozilla-central/rev/2e739b8c44c7 this.

Following
https://hg.mozilla.org/mozilla-central/log/tip/gfx/gl/GLContextProvider.h

This looks suspicious,
https://hg.mozilla.org/mozilla-central/rev/177273d61850201b8e6de0e545013f3181228a41

I remember seeing this being worked on somewhere,
https://hg.mozilla.org/mozilla-central/rev/27059949874a6d80ffe07e46f708d69256a09ae9
#if defined(MOZ_WIDGET_GTK) but my memory says this "fix" wasn't merged. So I may be missing some commit needed to fix this on 102.0... (if you have an idea)

This patch has worked for me with --enable-default-toolkit=cairo-gtk3-wayland-only since 102.0b7.

Assignee: nobody → owen
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Indeed that patch made it compile! And other toolkit-variants works too.

The reviewbot says it had some errors, but how crucial those are? I think I'm going with this for now, but does it need to be worked on for 102esr?

Thanks a lot either way!

The same GL refactoring is also in 102esr, so it should work (to the extent that it does in 102), but I'm not certain.

Attachment #9283244 - Attachment description: WIP: Bug 1776724 - fix wayland-only build → Bug 1776724 - fix wayland-only build

Martin, can this be landed?

Flags: needinfo?(stransky)

(In reply to Owen Rafferty from comment #10)

Martin, can this be landed?

Yes, you need to add 'checkin-needed' tag to the revision at https://phabricator.services.mozilla.com/differential/revision/edit/150485/ (I did that for you).

Flags: needinfo?(stransky)
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 104 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: