Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 927399 - >www-client/firefox-122.0.1 fail to compile with: "failed to run custom build command for `glslopt v0.1.9`" on Raspberry Pi4
Summary: >www-client/firefox-122.0.1 fail to compile with: "failed to run custom build...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL: https://forums.gentoo.org/viewtopic-t...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-21 13:40 UTC by lebkoungcity
Modified: 2024-04-09 18:26 UTC (History)
2 users (show)

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


Attachments
www-client/firefox-123.0.1 build.log (firefox-123.0.1-build.log.xz,241.29 KB, application/x-xz)
2024-03-21 13:43 UTC, lebkoungcity
Details
www-client/firefox-124.0 build.log (firefox-124.0-build.log.xz,138.84 KB, application/x-xz)
2024-03-21 13:43 UTC, lebkoungcity
Details
firefox-124.0-rust-bin-1.76.0-build.log.xz (firefox-124.0-rust-bin-1.76.0-build.log.xz,141.73 KB, application/x-xz)
2024-03-21 18:09 UTC, lebkoungcity
Details
firefox-124.0-rust-bin-1.76.0-32bit-kernel-build.log (firefox-124.0-rust-bin-1.76.0-32bit-kernel-build.log.xz,258.99 KB, application/x-xz)
2024-03-21 21:10 UTC, lebkoungcity
Details
firefox-124.0_rust-bin-1.76.0_32bit-kernel_tt_1-settings_build.log (firefox-124.0_rust-bin-1.76.0_32bit-kernel_tt_1-settings_build.log.xz,298.64 KB, application/x-xz)
2024-03-23 01:11 UTC, lebkoungcity
Details
firefox-124.0.1_rust-bin-1.76.0_32bit-kernel_no-neon_build.log (firefox-124.0.1_rust-bin-1.76.0_32bit-kernel_no-neon_build.log.xz,192.41 KB, application/x-xz)
2024-03-24 18:22 UTC, lebkoungcity
Details

Note You need to log in before you can comment on or make changes to this bug.
Description lebkoungcity 2024-03-21 13:40:36 UTC
On my Raspberry Pi4 (8GB RAM, 32bit), compiling any version of Firefox that is larger than www-client/firefox-122.0.1 fails if llvm_slot_17 is set as set by the ebuild and the toolchain is updated by this (and keywording the necessary ebuilds).
Of course in package.keywords I have:

www-client/firefox **

However, if I set
<=www-client/firefox-123.0.1-r1 llvm_slot_16 -llvm_slot_17
in my package.use and rebuild the toolchain, then it works. (Explicitly llvm_slot_16 AND -llvm_slot_17)

This happens completely regardless of whether DISTCC and/or CCACHE are active or not, as I was able to determine through several attempts.

I am attaching the build.log of www-client/firefox-123.0.1 and www-client/firefox-124.0 from the failed attempts.

Reproducible: Always

Steps to Reproduce:
1. have a Raspberry Pi4 with gentoo 32bit
2. Update the toolchain to llvm_slot_17 as suggested by the ebuild for Firefox
3. Try to emerge www-client/firefox
Actual Results:  
The emerge failed with:

64:29.05 1 warning generated.
65:57.51 1 warning generated.
65:57.62 gmake[4]: Leaving directory '/var/tmp/portage/www-client/firefox-123.0.1-r1/work/firefox_build/dom/ipc'
65:57.62 gmake[3]: Leaving directory '/var/tmp/portage/www-client/firefox-123.0.1-r1/work/firefox_build'
65:57.62 gmake[2]: *** [/var/tmp/portage/www-client/firefox-123.0.1-r1/work/firefox-123.0.1/config/recurse.mk:34: compile] Error 2
65:57.63 gmake[2]: Leaving directory '/var/tmp/portage/www-client/firefox-123.0.1-r1/work/firefox_build'
65:57.63 gmake[1]: *** [/var/tmp/portage/www-client/firefox-123.0.1-r1/work/firefox-123.0.1/config/rules.mk:361: default] Error 2
65:57.64 gmake[1]: Leaving directory '/var/tmp/portage/www-client/firefox-123.0.1-r1/work/firefox_build'
65:57.64 gmake: *** [client.mk:60: build] Error 2
65:57.64 W 17 compiler warnings present.
 * ERROR: www-client/firefox-123.0.1-r1::gentoo failed (compile phase):
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line 136:  Called src_compile
 *   environment, line 5486:  Called die
 * The specific snippet of code:
 *       ${virtx_cmd} ./mach build --verbose || die
 *
 * If you need support, post the output of `emerge --info '=www-client/firefox-123.0.1-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=www-client/firefox-123.0.1-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/www-client/firefox-123.0.1-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/firefox-123.0.1-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/www-client/firefox-123.0.1-r1/work/firefox-123.0.1'
 * S: '/var/tmp/portage/www-client/firefox-123.0.1-r1/work/firefox-123.0.1'


this is the actual error:

54:54.34 error: failed to run custom build command for `glslopt v0.1.9`

Expected Results:  
It should emerge just fine even with llvm_slot_17

This is the current emerge --info after I set '<=www-client/firefox-123.0.1-r1 llvm_slot_16 -llvm_slot_17':

# emerge --info www-client/firefox
Portage 3.0.61 (python 3.11.8-final-0, default/linux/arm/17.0/armv7a/desktop/plasma, gcc-13, glibc-2.38-r10, 6.1.21-v8+ aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.1.21-v8+-aarch64-with-glibc2.38
KiB Mem:     7948712 total,   3844916 free
KiB Swap:    5860348 total,   5834036 free
Timestamp of repository gentoo: Thu, 21 Mar 2024 09:30:00 +0000
Head commit of repository gentoo: 6b1491d2907fa9d4a216cd461615e0c1cde75fce
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
distcc 3.4 armv7a-unknown-linux-gnueabihf [enabled]
ccache version 4.9.1 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.71-r6::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.3::gentoo
dev-build/libtool:         2.4.7-r2::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.1-r1::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
dev-lang/rust-bin:         1.71.1::gentoo
dev-util/ccache:           4.9.1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.53::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           16.0.6::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             16.0.6::gentoo
sys-devel/llvm:            16.0.6::gentoo, 17.0.6::gentoo
sys-kernel/linux-headers:  6.6::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r10::gentoo
Repositories:

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0
    volatile: True

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: 1
    volatile: True
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 3

ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="@FREE"
CBUILD="armv7a-unknown-linux-gnueabihf"
CFLAGS="-O2 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
CHOST="armv7a-unknown-linux-gnueabihf"
CONFIG_PROTECT="/boot/cmdline.txt /boot/config.txt /etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
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 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live ccache config-protect-if-modified distcc distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync 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 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
LINGUAS="de_1901 de_DE de en"
MAKEOPTS="-j41 -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="X a52 aac acl acoustid activities alsa arm branding browser-integration bzip2 cairo chromaprint cli crc32 crypt dav1d dbus declarative dri dts edsp egl elogind encode exif fdk ffmpeg flac fortran gbm gdbm gif gles gles1 gles2 gpm gstreamer gtk gui hwaccel iconv icu id3tag ipv6 jpeg kde kms kwallet lcms libaom libdrm libkms libnotify libv4l mad mmal mng mp3 mp4 mpeg multimedia ncurses neon nls ogg opengl openh264 openmp opus pam pango pcre pdf pipewire plasma png policykit pulseaudio qml qrcode qt5 raspberry-pi raspi readline sddm sdl seccomp sound spell split-usr ssl startup-notification svg system-av1 system-cairo system-ffmpeg system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-openjpeg system-png system-sqlite system-webp taglib test-rust theora thumb thumb2 tiff truetype udev udisks unicode upower usb v4 v4l v4l2 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4 vmaf vorbis vpx vulkan wayland webp widevine widgets wxwidgets x264 x265 xattr xcb xft xml xv xvid zlib zvbi" 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_ARM="edsp neon thumb thumb2 vfp vfpv3 vfpv4 vfp-d32 v4 v5 v6 v7" 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" L10N="de-1901 de en" 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-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="vc4 v3d fbdev" 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, 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

=================================================================
                        Package Settings
=================================================================

www-client/firefox-124.0::gentoo was built with the following:
USE="X clang dbus gmp-autoupdate hwaccel jumbo-build openh264 pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-png system-webp wayland -debug (-eme-free) -geckodriver -hardened -jack -libproxy -lto (-pgo) (-selinux) -sndio (-system-python-libs) -telemetry -valgrind -wifi" CPU_FLAGS_ARM="neon" L10N="de -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -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 -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" LLVM_SLOT="16 -17"
CFLAGS="-pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
CXXFLAGS="-pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--undefined-version -Wl,--compress-debug-sections=zlib -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags"
Comment 1 lebkoungcity 2024-03-21 13:43:04 UTC
Created attachment 888041 [details]
www-client/firefox-123.0.1 build.log
Comment 2 lebkoungcity 2024-03-21 13:43:52 UTC
Created attachment 888042 [details]
www-client/firefox-124.0 build.log
Comment 3 lebkoungcity 2024-03-21 13:44:41 UTC
# emerge --info www-client/firefox
Portage 3.0.61 (python 3.11.8-final-0, default/linux/arm/17.0/armv7a/desktop/plasma, gcc-13, glibc-2.38-r10, 6.1.21-v8+ aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.1.21-v8+-aarch64-with-glibc2.38
KiB Mem:     7948712 total,   3844916 free
KiB Swap:    5860348 total,   5834036 free
Timestamp of repository gentoo: Thu, 21 Mar 2024 09:30:00 +0000
Head commit of repository gentoo: 6b1491d2907fa9d4a216cd461615e0c1cde75fce
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
distcc 3.4 armv7a-unknown-linux-gnueabihf [enabled]
ccache version 4.9.1 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.71-r6::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.3::gentoo
dev-build/libtool:         2.4.7-r2::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.1-r1::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
dev-lang/rust-bin:         1.71.1::gentoo
dev-util/ccache:           4.9.1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.53::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           16.0.6::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             16.0.6::gentoo
sys-devel/llvm:            16.0.6::gentoo, 17.0.6::gentoo
sys-kernel/linux-headers:  6.6::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r10::gentoo
Repositories:

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0
    volatile: True

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: 1
    volatile: True
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 3

ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="@FREE"
CBUILD="armv7a-unknown-linux-gnueabihf"
CFLAGS="-O2 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
CHOST="armv7a-unknown-linux-gnueabihf"
CONFIG_PROTECT="/boot/cmdline.txt /boot/config.txt /etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
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 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live ccache config-protect-if-modified distcc distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync 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 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
LINGUAS="de_1901 de_DE de en"
MAKEOPTS="-j41 -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="X a52 aac acl acoustid activities alsa arm branding browser-integration bzip2 cairo chromaprint cli crc32 crypt dav1d dbus declarative dri dts edsp egl elogind encode exif fdk ffmpeg flac fortran gbm gdbm gif gles gles1 gles2 gpm gstreamer gtk gui hwaccel iconv icu id3tag ipv6 jpeg kde kms kwallet lcms libaom libdrm libkms libnotify libv4l mad mmal mng mp3 mp4 mpeg multimedia ncurses neon nls ogg opengl openh264 openmp opus pam pango pcre pdf pipewire plasma png policykit pulseaudio qml qrcode qt5 raspberry-pi raspi readline sddm sdl seccomp sound spell split-usr ssl startup-notification svg system-av1 system-cairo system-ffmpeg system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-openjpeg system-png system-sqlite system-webp taglib test-rust theora thumb thumb2 tiff truetype udev udisks unicode upower usb v4 v4l v4l2 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4 vmaf vorbis vpx vulkan wayland webp widevine widgets wxwidgets x264 x265 xattr xcb xft xml xv xvid zlib zvbi" 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_ARM="edsp neon thumb thumb2 vfp vfpv3 vfpv4 vfp-d32 v4 v5 v6 v7" 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" L10N="de-1901 de en" 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-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="vc4 v3d fbdev" 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, 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

=================================================================
                        Package Settings
=================================================================

www-client/firefox-124.0::gentoo was built with the following:
USE="X clang dbus gmp-autoupdate hwaccel jumbo-build openh264 pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-png system-webp wayland -debug (-eme-free) -geckodriver -hardened -jack -libproxy -lto (-pgo) (-selinux) -sndio (-system-python-libs) -telemetry -valgrind -wifi" CPU_FLAGS_ARM="neon" L10N="de -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -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 -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" LLVM_SLOT="16 -17"
CFLAGS="-pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
CXXFLAGS="-pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--undefined-version -Wl,--compress-debug-sections=zlib -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags"
Comment 4 tt_1 2024-03-21 14:43:15 UTC
Wasn't rust-1.71.0 llvm-16 based? I mean, you might want to upgrade to a llvm-17 compatible version of rust and test if that fixes your issue? 

If that doesn't help please ping me, and I'll try to reproduce by copying your useflags - I just compiled firefox-124.0_rc1 with llvm-17 toolchain and rust-1.76.0, albeit on musl and not glibc, without any issues.
Comment 5 lebkoungcity 2024-03-21 18:08:42 UTC
Thanks for your reply!

Now I have this in package.keywords:

www-client/firefox **
<=dev-util/cbindgen-0.26.0 ~arm
<=media-video/libva-utils-2.18.2 **
<=media-libs/libva-2.18.0-r1 **
<=dev-libs/nss-3.99 ~arm
<=dev-lang/rust-bin-1.76.0 ~arm
<=virtual/rust-1.76.0 ~arm
<=sys-devel/lld-17.0.6 ~arm
<=sys-devel/lld-toolchain-symlinks-17 ~arm
<=sys-devel/clang-17.0.6 ~arm
<=sys-devel/clang-common-17.0.6-r1 ~arm
<=sys-devel/clang-runtime-17.0.6 ~arm
<=sys-devel/clang-toolchain-symlinks-17 ~arm
<=sys-libs/compiler-rt-17.0.6 ~arm
<=sys-libs/compiler-rt-sanitizers-17.0.6 ~arm
<=sys-libs/libomp-17.0.6 ~arm


Then I did:

# emerge -auvDNUk world --keep-going

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 74.10 s (backtrack: 0/20).

[binary     U ~] sys-devel/clang-common-17.0.6-r1::gentoo [16.0.6-r2::gentoo] USE="-bootstrap-prefix -default-compiler-rt -default-libcxx -default-lld -hardened -llvm-libunwind -verify-sig" 0 KiB
[binary  NS   ~] sys-libs/compiler-rt-17.0.6:17::gentoo [16.0.6:16::gentoo] USE="clang -debug -test -verify-sig" 0 KiB
[binary  NS   ~] sys-libs/compiler-rt-sanitizers-17.0.6:17::gentoo [16.0.6:16::gentoo] USE="asan cfi clang gwp-asan libfuzzer lsan orc profile scudo ubsan xray -debug (-dfsan) (-hwasan) (-memprof) (-msan) (-safestack) (-shadowcallstack) -test (-tsan) -verify-sig" 0 KiB
[binary     U ~] sys-libs/libomp-17.0.6:0/17::gentoo [16.0.6:0/16::gentoo] USE="-debug -gdb-plugin -hwloc (-offload) -ompt -test -verify-sig" LLVM_TARGETS="(-AMDGPU) -NVPTX" PYTHON_SINGLE_TARGET="python3_11 -python3_10 -python3_12" 0 KiB
[binary  NS   ~] sys-devel/clang-runtime-17.0.6:17::gentoo [16.0.6:16::gentoo] USE="compiler-rt openmp sanitize -libcxx" 0 KiB
[ebuild     U ~] dev-lang/rust-bin-1.76.0:stable::gentoo [1.71.1:stable::gentoo] USE="(-big-endian) -clippy (-doc) (-prefix) -profiler% -rust-analyzer -rust-src -rustfmt -verify-sig" 533.830 KiB
[ebuild     U ~] virtual/rust-1.76.0:0/llvm-17::gentoo [1.71.1-r1:0/llvm-16::gentoo] USE="-profiler% -rustfmt" 0 KiB
[binary  NS   ~] sys-devel/clang-17.0.6:17::gentoo [16.0.6:16::gentoo] USE="extra (pie) static-analyzer xml -debug -doc (-ieee-long-double) -test -verify-sig" LLVM_TARGETS="(AArch64) (AMDGPU) (ARM) (AVR) (BPF) (Hexagon) (Lanai) (LoongArch) (MSP430) (Mips) (NVPTX) (PowerPC) (RISCV) (Sparc) (SystemZ) (VE) (WebAssembly) (X86) (XCore) -ARC -CSKY -DirectX -M68k -SPIRV -Xtensa" PYTHON_SINGLE_TARGET="python3_11 -python3_10 -python3_12" 0 KiB
[binary  NS   ~] sys-devel/clang-toolchain-symlinks-17:17::gentoo [16-r2:16::gentoo] USE="native-symlinks -gcc-symlinks -multilib-symlinks" 0 KiB
[binary  NS   ~] sys-devel/lld-17.0.6:17::gentoo [16.0.6:16::gentoo] USE="-debug -test -verify-sig -zstd" 0 KiB
[binary  NS   ~] sys-devel/lld-toolchain-symlinks-17:17::gentoo [16-r2:16::gentoo] USE="native-symlinks -multilib-symlinks" 0 KiB
[ebuild   R   *] www-client/firefox-124.0:rapid::gentoo  USE="X clang dbus gmp-autoupdate hwaccel jumbo-build openh264 pulseaudio system-av1 system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-png system-webp wayland -debug (-eme-free) -geckodriver -hardened -jack -libproxy -lto (-pgo) (-selinux) -sndio (-system-python-libs) -telemetry -valgrind -wifi" CPU_FLAGS_ARM="neon" L10N="de -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -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 -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" LLVM_SLOT="17* -16*" 0 KiB

Total: 12 packages (4 upgrades, 7 in new slots, 1 reinstall, 9 binaries), Size of downloads: 533.830 KiB


But it failed again, see:
firefox-124.0-rust-bin-1.76.0-build.log.xz


To check what was used:

# qlist -Iv rust
app-eselect/eselect-rust-20210703
dev-lang/rust-bin-1.76.0
virtual/rust-1.76.0

# qlist -Iv llvm
sys-devel/llvm-17.0.6
sys-devel/llvm-16.0.6
sys-devel/llvm-common-16.0.6
sys-devel/llvm-toolchain-symlinks-17
sys-devel/llvm-toolchain-symlinks-16-r1
sys-devel/llvmgold-17

# qlist -Iv lld
sys-devel/lld-17.0.6
sys-devel/lld-16.0.6
sys-devel/lld-toolchain-symlinks-17
sys-devel/lld-toolchain-symlinks-16-r2

# qlist -Iv clang
sys-devel/clang-17.0.6
sys-devel/clang-16.0.6
sys-devel/clang-common-17.0.6-r1
sys-devel/clang-runtime-17.0.6
sys-devel/clang-runtime-16.0.6
sys-devel/clang-toolchain-symlinks-17
sys-devel/clang-toolchain-symlinks-16-r2

# qlist -Iv compiler-rt
sys-libs/compiler-rt-17.0.6
sys-libs/compiler-rt-16.0.6
sys-libs/compiler-rt-sanitizers-17.0.6
sys-libs/compiler-rt-sanitizers-16.0.6

# qlist -Iv libomp
sys-libs/libomp-17.0.6
Comment 6 lebkoungcity 2024-03-21 18:09:35 UTC
Created attachment 888053 [details]
firefox-124.0-rust-bin-1.76.0-build.log.xz
Comment 7 tt_1 2024-03-21 18:21:34 UTC
What kind of setup are you using? emerge --info states a 64bit kernel, but you want to emerge this for armv7a. Do you boot into a 64bit userland, and chroot into a 32bit prefix? Or do you want to cross compile with crossdev-wrappers? 

In any case, there is a special rust-std for using neon on armv7a, it's called thumbv7neon-unknown-linux-gnueabihf 

it has never been enabled for the ebuilds in tree, but this is the official way to get a firefox armv7a binary with neon and thumb cflags

maybe try to remove any agressive cflags to establish a working base, then increase the cflags?
Comment 8 lebkoungcity 2024-03-21 19:31:05 UTC
I bought this RPi4 to use primarily with Kodi for watching Netflix. Therefore Widevine is required and that is only available for ARM 32bit systems. NeddySeagoon once gave me the tip that I can still use a 64bit kernel.
Anyway, I set up the system just to make it work. I wasn't planning on setting any aggressive CFLAGS.

Emerging Firefox with 64bit kernel has always worked since it first worked with www-client/firefox-109.0.1.

In previous attempts for versions larger than www-client/firefox-122.0.1, it never mattered whether I booted the 32bit or 64bit kernel. The error was always:
failed to run custom build command for `glslopt v0.1.9`

But to clarify things, I have now booted the 32bit kernel and am trying again. I'll let you know here when there's a result.

# uname --all
Linux thalia 6.1.21-v7l+ #1642 SMP Mon Apr  3 17:22:30 BST 2023 armv7l ARMv7 Processor rev 3 (v7l) BCM2711 GNU/Linux
Comment 9 lebkoungcity 2024-03-21 21:10:08 UTC
Again, it's (and see also attachment 'firefox-124.0-rust-bin-1.76.0-32bit-kernel-build.log'):


error: failed to run custom build command for `glslopt v0.1.9`
52:21.53 note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.
52:21.53 Caused by:
52:21.59   process didn't exit successfully: `CARGO=/opt/rust-bin-1.76.0/bin/cargo-bin-1.76.0 CARGO_CFG_PANIC=unwind CARGO_CFG_TARGET_ARCH=arm CARGO_CFG_TARGET_ENDIAN=little CARGO_CFG_TARGET_ENV=gnu CARGO_CFG_TARGET_FAMILY=unix CARGO_CFG_TARGET_HAS_ATOMIC=16,32,64,8,ptr CARGO_CFG_TARGET_OS=linux CARGO_CFG_TARGET_POINTER_WIDTH=32 CARGO_CFG_TARGET_VENDOR=unknown CARGO_CFG_UNIX='' CARGO_ENCODED_RUSTFLAGS='' CARGO_MANIFEST_DIR=/var/tmp/portage/www-client/firefox-124.0/work/firefox-124.0/third_party/rust/glslopt CARGO_PKG_AUTHORS='Jamie Nicol <jnicol@mozilla.com>' CARGO_PKG_DESCRIPTION='Optimizes GLSL shader code' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=glslopt CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/jamienicol/glslopt-rs' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.9 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=9 CARGO_PKG_VERSION_PRE='' DEBUG=false HOST=armv7-unknown-linux-gnueabihf LD_LIBRARY_PATH='/var/tmp/portage/www-client/firefox-124.0/work/firefox_build/release/deps:/var/tmp/portage/www-client/firefox-124.0/work/firefox_build/release:/opt/rust-bin-1.76.0/lib/rustlib/armv7-unknown-linux-gnueabihf/lib' NUM_JOBS=41 OPT_LEVEL=1 OUT_DIR=/var/tmp/portage/www-client/firefox-124.0/work/firefox_build/release/build/glslopt-4d0ac5a450973b7b/out PROFILE=release RUSTC=/usr/bin/rustc RUSTC_LINKER=/var/tmp/portage/www-client/firefox-124.0/work/firefox-124.0/build/cargo-linker RUSTDOC=/usr/bin/rustdoc TARGET=armv7-unknown-linux-gnueabihf /var/tmp/portage/www-client/firefox-124.0/work/firefox_build/release/build/glslopt-01980aa6b31c0db3/build-script-build` (exit status: 1)
Comment 10 lebkoungcity 2024-03-21 21:10:46 UTC
Created attachment 888117 [details]
firefox-124.0-rust-bin-1.76.0-32bit-kernel-build.log
Comment 11 tt_1 2024-03-22 07:32:45 UTC
here is mine, with llvm slot 17 and rust-1.76.0: 

www-client/firefox-124.0_rc1::gentoo was built with the following:
USE="X clang jumbo-build system-harfbuzz system-icu system-jpeg (system-libevent) system-png system-webp -dbus -debug (-eme-free) -geckodriver -gmp-autoupdate (-hardened) -hwaccel -jack -libproxy -lto -openh264 (-pgo) -pulseaudio (-selinux) -sndio -system-av1 -system-libvpx (-system-python-libs) -telemetry -valgrind -wayland -wifi" CPU_FLAGS_ARM="-neon" L10N="de -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -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 -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW"
CFLAGS="-pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
CXXFLAGS="-pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--compress-debug-sections=zlib -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags"
Comment 12 lebkoungcity 2024-03-23 01:10:34 UTC
I tried to mimic your settings as best I could but failed again with the same error. (see below and attached firefox-124.0_rust-bin-1.76.0_32bit-kernel_tt_1-settings_build.log)



btw: By the way: By the way: What exactly is this glslopt? The error mentions, among other things, a URL that I looked at, but unfortunately I don't know whether and if so how this information can help... 

CARGO_PKG_AUTHORS='Jamie Nicol <jnicol@mozilla.com>' CARGO_PKG_DESCRIPTION='Optimizes GLSL shader code' (...) CARGO_PKG_NAME=glslopt (...) CARGO_PKG_REPOSITORY='https://github.com /jamienicol/glslopt-rs'



180:14.61 error: failed to run custom build command for `glslopt v0.1.9`
180:14.64 note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.
180:14.64 Caused by:
180:14.72   process didn't exit successfully: `CARGO=/opt/rust-bin-1.76.0/bin/cargo-bin-1.76.0 CARGO_CFG_PANIC=unwind CARGO_CFG_TARGET_ARCH=arm CARGO_CFG_TARGET_ENDIAN=little CARGO_CFG_TARGET_ENV=gnu CARGO_CFG_TARGET_FAMILY=unix CARGO_CFG_TARGET_HAS_ATOMIC=16,32,64,8,ptr CARGO_CFG_TARGET_OS=linux CARGO_CFG_TARGET_POINTER_WIDTH=32 CARGO_CFG_TARGET_VENDOR=unknown CARGO_CFG_UNIX='' CARGO_ENCODED_RUSTFLAGS='' CARGO_MANIFEST_DIR=/var/tmp/portage/www-client/firefox-124.0/work/firefox-124.0/third_party/rust/glslopt CARGO_PKG_AUTHORS='Jamie Nicol <jnicol@mozilla.com>' CARGO_PKG_DESCRIPTION='Optimizes GLSL shader code' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=glslopt CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/jamienicol/glslopt-rs' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.9 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=9 CARGO_PKG_VERSION_PRE='' DEBUG=false HOST=armv7-unknown-linux-gnueabihf LD_LIBRARY_PATH='/var/tmp/portage/www-client/firefox-124.0/work/firefox_build/release/deps:/var/tmp/portage/www-client/firefox-124.0/work/firefox_build/release:/opt/rust-bin-1.76.0/lib/rustlib/armv7-unknown-linux-gnueabihf/lib' NUM_JOBS=41 OPT_LEVEL=1 OUT_DIR=/var/tmp/portage/www-client/firefox-124.0/work/firefox_build/release/build/glslopt-4d0ac5a450973b7b/out PROFILE=release RUSTC=/usr/bin/rustc RUSTC_LINKER=/var/tmp/portage/www-client/firefox-124.0/work/firefox-124.0/build/cargo-linker RUSTDOC=/usr/bin/rustdoc TARGET=armv7-unknown-linux-gnueabihf /var/tmp/portage/www-client/firefox-124.0/work/firefox_build/release/build/glslopt-01980aa6b31c0db3/build-script-build` (exit status: 1)



# emerge --info
Portage 3.0.61 (python 3.11.8-final-0, default/linux/arm/17.0/armv7a/desktop/plasma, gcc-13, glibc-2.38-r10, 6.1.21-v7l+ armv7l)
=================================================================
System uname: Linux-6.1.21-v7l+-armv7l-ARMv7_Processor_rev_3_-v7l-with-glibc2.38
KiB Mem:     8035152 total,   7343276 free
KiB Swap:    5860348 total,   5860348 free
Timestamp of repository gentoo: Fri, 22 Mar 2024 06:00:00 +0000
Head commit of repository gentoo: 4e418cbcd3b629df20fe58c3cb192c47dd662ebb
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.41 p5) 2.41.0
distcc 3.4 armv7a-unknown-linux-gnueabihf [enabled]
ccache version 4.9.1 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.71-r6::gentoo
dev-build/automake:        1.16.5-r2::gentoo
dev-build/cmake:           3.28.3::gentoo
dev-build/libtool:         2.4.7-r2::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.1-r1::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r2::gentoo
dev-lang/python:           3.11.8_p1::gentoo, 3.12.2_p1::gentoo
dev-lang/rust-bin:         1.76.0::gentoo
dev-util/ccache:           4.9.1::gentoo
sys-apps/baselayout:       2.14-r2::gentoo
sys-apps/openrc:           0.53::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           16.0.6::gentoo, 17.0.6::gentoo
sys-devel/gcc:             13.2.1_p20240210::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             16.0.6::gentoo, 17.0.6::gentoo
sys-devel/llvm:            16.0.6::gentoo, 17.0.6::gentoo
sys-kernel/linux-headers:  6.6::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r10::gentoo
Repositories:

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0
    volatile: True

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: 1
    volatile: True
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3
    sync-rsync-extra-opts: 

ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="@FREE"
CBUILD="armv7a-unknown-linux-gnueabihf"
CFLAGS="-pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer"
CHOST="armv7a-unknown-linux-gnueabihf"
CONFIG_PROTECT="/boot/cmdline.txt /boot/config.txt /etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer"
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="-pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live ccache config-protect-if-modified distcc distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync 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="-pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--compress-debug-sections=zlib -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags"
LEX="flex"
LINGUAS="de_1901 de_DE de en"
MAKEOPTS="-j41 -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="X a52 aac acl activities alsa arm bluetooth branding bzip2 cairo cdda cdr clang cli crypt cups declarative dri dts dvd dvdr elogind encode exif flac fortran gdbm gif gpm gtk gui iconv icu ipv6 jpeg jumbo-build kde kwallet lcms libnotify mad mng mp3 mp4 mpeg ncurses networkmanager nls ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds qml qt5 readline screencast sdl seccomp semantic-desktop sound spell split-usr ssl startup-notification svg system-harfbuzz system-icu system-jpeg system-libevent system-png system-webp test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" 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_ARM="edsp thumb thumb2 v4 v5 v6 v7 vfp" 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" L10N="de" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_SLOT="17" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="vc4 v3d fbdev" 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, 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



# emerge -pv www-client/firefox

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 23.81 s (backtrack: 0/20).

[ebuild   R   *] www-client/firefox-124.0:rapid::gentoo  USE="X clang jumbo-build system-harfbuzz system-icu system-jpeg system-libevent system-png system-webp -dbus* -debug (-eme-free) -geckodriver -gmp-autoupdate* -hardened -hwaccel* -jack -libproxy -lto -openh264* (-pgo) -pulseaudio* (-selinux) -sndio -system-av1* -system-libvpx* (-system-python-libs) -telemetry -valgrind -wayland* -wifi" CPU_FLAGS_ARM="-neon*" L10N="de -ach -af -an -ar -ast -az -be -bg -bn -br -bs -ca -ca-valencia -cak -cs -cy -da -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 -sl -son -sq -sr -sv -szl -ta -te -th -tl -tr -trs -uk -ur -uz -vi -xh -zh-CN -zh-TW" LLVM_SLOT="17* -16*" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Comment 13 lebkoungcity 2024-03-23 01:11:22 UTC
Created attachment 888228 [details]
firefox-124.0_rust-bin-1.76.0_32bit-kernel_tt_1-settings_build.log
Comment 14 tt_1 2024-03-23 06:03:28 UTC
glslopt is a vendored rust crate

my money is on the neon cflags, but I just don't have the cpu time available to copy your setup on my machine just to prove it
Comment 15 lebkoungcity 2024-03-23 10:42:20 UTC
Hmmm... glslopt is an oxidized box that was sold? ;D Sorry for my ignorance but all I understand is rust is a language that is used for firefox. And that rust is able to fetch libraries on its own. And glslopt is one of those libraries/modules and it does its magic in the context of accelerated graphics. Or something like that. Therefore the connection to neon you propose. But why does it fail? Could I update it (at least for testing purposes), i.e. tell rust to use a different version?


Anyway, I thought I had switched off neon cflags by using in my make.conf what you provided in comment 11? These lines:

CFLAGS="-pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
CXXFLAGS="-pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--compress-debug-sections=zlib -Wl,-rpath=/usr/lib/firefox,--enable-new-dtags"

At least I didn't see neon cflags mentioned as activated in all the output of last night at all. (see comment 12 & comment 13) Did I overlook it? It was late last night...
Comment 16 tt_1 2024-03-24 11:43:12 UTC
no, you don't understand how the firefox build system works

I already told you that your idea of using neon is wrong, because you will need a second rust-std called thumbv7neon-unknown-linux-gnueabihf. To have this on your system you will need to switch over to dev-lang/rust AND consult the I_KNOW_WHAT_I_AM_DOING section in the ebuild. 

Your attempt to put the neon flags via the CFLAGS won't work, it causes confusion because different subsystems of the firefox build either demand neon cflags, or will break with neon cflags, and therefore you should leave that decision to upstream. 

Also you need to understand how the firefox source tree works: there is a dir called third_party/rust, which is where upstream vendors their rust crates into. The crates are not libraries or binaries, but the actuall rust source code, compressed into a single zip file - upstream fetches them, unpacks them into said third_party/rust folder, and locks them in place with checksums. This is called vendoring, where the end users doesn't need to fetch the files from the rust servers themselves, but they are included into the source tree and end up in the indiviual released firefox source tarball. 

Those crates can be searched through crates.io, which is where you can learn more about them if you want to. 

Before we continue to discuss all these things, please turn off all your distcc, ccache and what have you not. I never use them and prefere the crunch, as they are very frail and prone to difficult to debug errors. Your log is full of these errors, where are they coming from? I believed you when you said you had it disabled, and felt no need to double check on you.
Comment 17 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-24 14:50:00 UTC
(In reply to tt_1 from comment #16)

This comment may read as a bit abrasive. You aren't required to comment on FF bugs - it's nice to have help of course, but if you are going to, please be polite.
Comment 18 lebkoungcity 2024-03-24 18:21:23 UTC
Sam James,
we'll keep that in mind, thanks! I didn't read comment #16 as being too abrasive.



tt_1,
thanks for explaining these point, I appreciate it.

I changed make.conf accordingly to your statements.
In the last runs DISTCC and CCACHE were not de-activated because I had sorted them as cause of the build-fail out by try-and-error. The resulting build.logs from these runs are long time gone and were overwritten by subsequent runs. Sorry that I didn't had in mind that they would make reading build.log difficult, too. Now they are both turned off.
I kept CFLAGS to the same as they were set for the last run. And I have had an eye on having every mention of neon disabled. Below I have attached the current make.conf.
(For the record, my previous settings for CFLAGS were from here: https://wiki.gentoo.org/wiki/Safe_CFLAGS#ARMv7-A.2FCortex-A9_MPCore )


Then I tried emerging firefox again and it failed again with (see: firefox-124.0.1_rust-bin-1.76.0_32bit-kernel_no-neon_build.log )


36:20.36 error: failed to run custom build command for `glslopt v0.1.9`
36:20.37 note: To improve backtraces for build dependencies, set the CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.
36:20.37 Caused by:
36:20.40   process didn't exit successfully: `CARGO=/opt/rust-bin-1.76.0/bin/cargo-bin-1.76.0 CARGO_CFG_PANIC=unwind CARGO_CFG_TARGET_ARCH=arm CARGO_CFG_TARGET_ENDIAN=little CARGO_CFG_TARGET_ENV=gnu CARGO_CFG_TARGET_FAMILY=unix CARGO_CFG_TARGET_HAS_ATOMIC=16,32,64,8,ptr CARGO_CFG_TARGET_OS=linux CARGO_CFG_TARGET_POINTER_WIDTH=32 CARGO_CFG_TARGET_VENDOR=unknown CARGO_CFG_UNIX='' CARGO_ENCODED_RUSTFLAGS='' CARGO_MANIFEST_DIR=/var/tmp/portage/www-client/firefox-124.0.1/work/firefox-124.0.1/third_party/rust/glslopt CARGO_PKG_AUTHORS='Jamie Nicol <jnicol@mozilla.com>' CARGO_PKG_DESCRIPTION='Optimizes GLSL shader code' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=glslopt CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/jamienicol/glslopt-rs' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.9 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=9 CARGO_PKG_VERSION_PRE='' DEBUG=false HOST=armv7-unknown-linux-gnueabihf LD_LIBRARY_PATH='/var/tmp/portage/www-client/firefox-124.0.1/work/firefox_build/release/deps:/var/tmp/portage/www-client/firefox-124.0.1/work/firefox_build/release:/opt/rust-bin-1.76.0/lib/rustlib/armv7-unknown-linux-gnueabihf/lib' NUM_JOBS=4 OPT_LEVEL=1 OUT_DIR=/var/tmp/portage/www-client/firefox-124.0.1/work/firefox_build/release/build/glslopt-4d0ac5a450973b7b/out PROFILE=release RUSTC=/usr/bin/rustc RUSTC_LINKER=/var/tmp/portage/www-client/firefox-124.0.1/work/firefox-124.0.1/build/cargo-linker RUSTDOC=/usr/bin/rustdoc TARGET=armv7-unknown-linux-gnueabihf /var/tmp/portage/www-client/firefox-124.0.1/work/firefox_build/release/build/glslopt-01980aa6b31c0db3/build-script-build` (exit status: 1)
Comment 19 lebkoungcity 2024-03-24 18:22:20 UTC
Created attachment 888465 [details]
firefox-124.0.1_rust-bin-1.76.0_32bit-kernel_no-neon_build.log
Comment 20 lebkoungcity 2024-03-24 18:23:18 UTC
make.conf:




CHOST="armv7a-unknown-linux-gnueabihf"

COMMON_FLAGS="-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

MAKEOPTS="-j4"

FEATURES="${FEATURES} buildpkg"

USE="
aac acoustid
-bluetooth browser-integration
-calendar -cdda -cdr -cec chromaprint -cups
dav1d -doc -dvd -dvdr
egl elogind -emboss
fdk ffmpeg flac
gbm -geolocation gles gles1 gles2 gstreamer
-hangouts hwaccel
id3tag
-kaccounts kms
libaom libdrm libkms libv4l
-man mmal -modemmanager mp3 multimedia
-networkmanager
ogg opengl opencl openh264 -optical opus
pipewire -ppds -ppp -printsupport pulseaudio
qrcode
raspberry-pi raspi
-screencast sddm -semantic-desktop -systemd
system-av1 system-cairo system-ffmpeg system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-openjpeg system-png system-sqlite system-webp
taglib -telemetry theora
v4l v4l2 vaapi vdpau vmaf vorbis vpx vulkan
-webengine webp widevine -wifi -wireless
xvid x264 x265
zvbi"

VIDEO_CARDS="vc4 v3d fbdev"

LINGUAS="de_1901 de_DE de en"
L10N="de-1901 de en"

PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"

PORTDIR_OVERLAY="/usr/local/portage ${PORTDIR} ${PORTDIR_OVERLAY}"

PORTAGE_ELOG_CLASSES="info warn error log"
PORTAGE_ELOG_SYSTEM="save"

LC_MESSAGES=C
Comment 21 tt_1 2024-03-31 08:53:46 UTC
two things you could still check out: 

do you have enough ram available? I need a bit more than 3gb with -j1 as a reference 

switch to dev-lang/rust, there might be a bug deep in the upstream toolchain
Comment 22 lebkoungcity 2024-04-09 18:26:39 UTC
Thanks for your new answer!

In the past I already tried it with -j1 despite having no OOM related problems when firefox is emerged with 'llvm_slot_16 -llvm_slot_17' and it also failed. One aspect that may speak against OOM is that the build always fails at the very exact point but that's just a weak indict.

It took several hours to emerge dev-lang/rust to switch to it.

After the switch (and removing dev-lang/rust-bin) I tried the emerge with turned off ccache, turned off distcc and -j1. Just to be really really sure no problem related to such could interfere. And the built failed at the very same point again. I went through the build.log and it was all the same as before.

Unfortunately the next day I hadn't saved this build.log and it was whipped from the HDD when I updated the system with regular settings and didn't mind to let it to try emerging firefox again...

Now I'm about to give up. For the moment there is a working firefox on my RPi4 and I hope there will be in the future, somehow.