Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 936583 - www-client/firefox-128.0: fails to build with USE=wayland
Summary: www-client/firefox-128.0: fails to build with USE=wayland
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-24 08:03 UTC by Nicu Borta
Modified: 2024-07-24 10:35 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (build.log.bz2,400.55 KB, application/x-bzip2)
2024-07-24 08:08 UTC, Nicu Borta
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nicu Borta 2024-07-24 08:03:15 UTC
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*"
Comment 1 Nicu Borta 2024-07-24 08:04:00 UTC
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
Comment 2 Nicu Borta 2024-07-24 08:08:01 UTC
Created attachment 898263 [details]
Build log
Comment 3 Alfred Wingate 2024-07-24 08:23:02 UTC
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.
Comment 4 Nicu Borta 2024-07-24 08:43:27 UTC
(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.
Comment 5 Alfred Wingate 2024-07-24 08:50:22 UTC
> 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.
Comment 6 Nicu Borta 2024-07-24 10:30:23 UTC
Setting +dbus for www-client/firefox makes it build successfully, thank you for your help.
Comment 7 Larry the Git Cow gentoo-dev 2024-07-24 10:33:23 UTC
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(+)
Comment 8 Joonas Niilola gentoo-dev 2024-07-24 10:35:06 UTC
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.