Reproducible: Always emerging with USE="+wayland -X" on a pure Wayland system leads to this compile error: 53:56.84 /home/portage/portage/www-client/firefox-128.0/work/firefox-128.0/toolkit/components/remote/nsGTKRemoteServer.h:12:10: fatal error: 'gdk/gdkx.h' file not found 53:56.84 12 | #include <gdk/gdkx.h> Output of `emerge -pqv '=www-client/firefox-128.0::gentoo'`: [ebuild U ] www-client/firefox-128.0 [127.0.2] USE="clang eme-free jumbo-build lto pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-webp wayland -X -dbus -debug -gmp-autoupdate -hardened -hwaccel -jack -libproxy -openh264 -pgo (-selinux) -sndio -system-png -telemetry (-valgrind) -wifi (-geckodriver%)" L10N="-ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -de -dsb -el -en-CA -en-GB -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fur -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mk -mr -ms -my -nb -ne -nl -nn -oc -pa -pl -pt-BR -pt-PT -rm -ro -ru -sc -sco -si -sk -skr% -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" LLVM_SLOT="18* -17*"
Output of `emerge --info '=www-client/firefox-128.0::gentoo'`: Portage 3.0.65 (python 3.12.3-final-0, default/linux/amd64/23.0/split-usr, gcc-13, glibc-2.39-r6, 6.9.10-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-6.9.10-gentoo-x86_64-AMD_Ryzen_3_3200G_with_Radeon_Vega_Graphics-with-glibc2.39 KiB Mem: 16322808 total, 261400 free KiB Swap: 8388604 total, 8128764 free Timestamp of repository gentoo: Tue, 23 Jul 2024 15:30:00 +0000 Head commit of repository gentoo: 403e38ee8da174f59a673dfe0fdaac18d5bda911 Timestamp of repository guru: Tue, 23 Jul 2024 14:19:06 +0000 Head commit of repository guru: c7fbd03eecfd3d35a327074517001b2ce6be6757 sh bash 5.2_p26-r6 ld GNU ld (Gentoo 2.42 p3) 2.42.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.2_p26-r6::gentoo dev-build/autoconf: 2.13-r8::gentoo, 2.71-r7::gentoo dev-build/automake: 1.16.5-r2::gentoo dev-build/cmake: 3.28.5::gentoo dev-build/libtool: 2.4.7-r4::gentoo dev-build/make: 4.4.1-r1::gentoo dev-build/meson: 1.5.0::gentoo dev-java/java-config: 2.3.3-r1::gentoo dev-lang/perl: 5.38.2-r3::gentoo dev-lang/python: 3.12.3-r1::gentoo dev-lang/rust: 1.79.0::gentoo sys-apps/baselayout: 2.15::gentoo sys-apps/openrc: 0.54.2::gentoo sys-apps/sandbox: 2.38::gentoo sys-devel/binutils: 2.42-r1::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/clang: 17.0.6::gentoo, 18.1.8::gentoo sys-devel/gcc: 13.3.1_p20240614::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/lld: 17.0.6::gentoo, 18.1.8::gentoo sys-devel/llvm: 17.0.6-r2::gentoo, 18.1.8-r1::gentoo sys-kernel/linux-headers: 6.6-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.39-r6::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 volatile: False sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: sync-rsync-verify-max-age: 3 sync-rsync-verify-metamanifest: yes guru location: /var/db/repos/guru sync-type: git sync-uri: https://github.com/gentoo-mirror/guru.git masters: gentoo volatile: False local location: /var/db/repos/local masters: gentoo volatile: False Binary Repositories: gentoobinhost priority: 1 sync-uri: https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=native -pipe" DISTDIR="/var/cache/distfiles" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-O2 -march=native -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -march=native -pipe" GENTOO_MIRRORS="http://mirror.as43289.net/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" LEX="flex" MAKEOPTS="-j4 -l4" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="acl amd64 bzip2 crypt gdbm iconv libtirpc multilib ncurses openmp pam pcre png pulseaudio readline seccomp split-usr ssl test-rust unicode vaapi wayland xattr zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sha sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby31 ruby32" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Created attachment 898263 [details] Build log
https://github.com/mozilla/gecko-dev/blob/master/toolkit/components/remote/moz.build#L19 Looks like the USE="-dbus" path unconditionally requires gtk+[X]. Any reason you have dbus disabled? Especially on wayland.
(In reply to Alfred Wingate from comment #3) > https://github.com/mozilla/gecko-dev/blob/master/toolkit/components/remote/ > moz.build#L19 > > Looks like the USE="-dbus" path unconditionally requires gtk+[X]. Any reason > you have dbus disabled? Especially on wayland. Hmm, I don't seem to have set -dbus explicitly anywhere, will try to rebuild with it enabled and report on the results.
> Hmm, I don't seem to have set -dbus explicitly anywhere Checking your profile I notice you arent using the desktop profile. Which explains it as its not enabled by default elsewhere. For desktop use I recommend using the desktop profile as it enables such generally useful configuration that you may not think is needed. Even so its easier to disable things you know you dont want rather than figuring out what you may want.
Setting +dbus for www-client/firefox makes it build successfully, thank you for your help.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a224ee1662c8497c8c603cbec83587048b429e8e commit a224ee1662c8497c8c603cbec83587048b429e8e Author: Joonas Niilola <juippis@gentoo.org> AuthorDate: 2024-07-24 10:27:12 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2024-07-24 10:33:20 +0000 www-client/firefox: add 128.0.2 - bring back the REQUIRED_USE for "wayland? ( dbus )". Again, getting Firefox's dependencies installed without dbus (especially when +wayland is specified) requires custom patching to GTK and its deps, and by that nature is very unsupported already. I can't test on a dbusless system, but am willing to include such a patch when provided (see bgo#860033). Closes: https://bugs.gentoo.org/936583 Signed-off-by: Joonas Niilola <juippis@gentoo.org> www-client/firefox/Manifest | 101 +++ www-client/firefox/firefox-128.0.2.ebuild | 1403 +++++++++++++++++++++++++++++ 2 files changed, 1504 insertions(+)
See also rationale for dropping the previous dbus-wayland patch on 128.0 bump: https://gitweb.gentoo.org/repo/gentoo.git/commit/www-client/firefox?id=875d3acb94c704802b18e38d275f5826bac91178 IIRC the patch still applied fine but it errored somewhere in src_compile.