Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Chromium 127: Unmask lto for new REQUIRED_USE
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
penguinomicon
n00b
n00b


Joined: 25 May 2024
Posts: 3
Location: Australia

PostPosted: Fri Jul 26, 2024 10:35 am    Post subject: [SOLVED] Chromium 127: Unmask lto for new REQUIRED_USE Reply with quote

Hey there! I am doing my regular system update and am having trouble with chromium:

Code:
!!! Problem resolving dependencies for www-client/chromium from @selected
... done!
Dependency resolution took 1.57 s (backtrack: 0/20).


!!! The ebuild selected to satisfy "www-client/chromium" has unmet requirements.
- www-client/chromium-127.0.6533.72::gentoo USE="X official proprietary-codecs pulseaudio qt5 system-harfbuzz system-icu system-png system-toolchain system-zstd vaapi -bindist -cups -custom-cflags -debug -ffmpeg-chromium -gtk4 -hangouts (-headless) -kerberos (-lto) -pax-kernel (-pgo) -qt6 -screencast (-selinux) -wayland -widevine" ABI_X86="(64)" L10N="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he hi hr
hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW"

  The following REQUIRED_USE flag constraints are unsatisfied:
    official? ( lto )

  The above constraints are a subset of the following complete expression:
    !headless? ( any-of ( X wayland ) ) official? ( lto ) pgo? ( X !wayland ) qt6? ( qt5 ) screencast? ( wayland ) ffmpeg-chromium? ( bindist proprietary-codecs )


It seems like this was due to commit f9d4cf285d2 in gentoo repo. If we diff that version of chromium against the 126 series, we see that "official? (lto)" is new in 127.

I don't see anywhere under /etc/portage that lto is being masked. Instead, I suspect it is coming from commit a6d7df22b25. It masked lto from chromium until llvm 17, but now I'm on llvm 18, so I suspect it should be removed.

I believe I've done my due diligence with respect to search the web and past forum posts. I came across a lot of information about masking and unmasking packages and use flags, and I tried a few combinations of settings to get chromium to use lto, but nothing worked.

Questions:


  • If this is just some misconfiguration on my part, what might I have missed? I looked all through /etc/portage looking for anything to do with chromium and/or lto and nothing turned up which would explain the mask. I've pasted output for `emerge --info www-client/chromium` below.
  • Alternatively, should this be considered a bug and reported?
  • Yet another alternative, is this just one of those things where I should just sit it out for a few days and hopefully the package mask will be updated due to the new version of llvm now available?
  • Noticing that lto is only needed when the official use flag is set, what would be the implications of setting `-official` and using the so-called "developer build"? I don't see the difference between these builds explained, and it isn't clear to me what's going on in the part of the ebuild which consumes the official use flag. Honestly, I may prefer to not have lto with chromium, but I'm not sure yet.


Output of `emerge --info www-client/chromium`:
Code:

Portage 3.0.65 (python 3.12.3-final-0, default/linux/amd64/23.0/split-usr/desktop, gcc-13, glibc-2.39-r6, 6.9.10-gentoo-dist x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.9.10-gentoo-dist-x86_64-AMD_Ryzen_9_7950X3D_16-Core_Processor-with-glibc2.39
KiB Mem:    64953420 total,  23817492 free
KiB Swap:   67906560 total,  67906560 free
Timestamp of repository gentoo: Fri, 26 Jul 2024 08:06:39 +0000
Head commit of repository gentoo: b18e30d0dec5c47e2c0bab3a7323312ecb823be7

Head commit of repository jaredallard-overlay: 841f08dbd1b2667c54278782ad6da409711a9e1a

Timestamp of repository steam-overlay: Mon, 15 Jul 2024 07:34:33 +0000
Head commit of repository steam-overlay: 8cfcc3f068b712dce3d91d3020afb058f68aa036

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.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.4.1::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:           18.1.8::gentoo
sys-devel/gcc:             11.4.1_p20240501::gentoo, 13.3.1_p20240614::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             18.1.8::gentoo
sys-devel/llvm:            14.0.6-r4::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: git
    sync-uri: https://github.com/gentoo-mirror/gentoo
    priority: -1000
    volatile: False

jaredallard-overlay
    location: /var/db/repos/jaredallard-overlay
    sync-type: git
    sync-uri: https://github.com/jaredallard/overlay.git
    masters: gentoo
    volatile: False

local
    location: /var/db/repos/local
    masters: gentoo
    volatile: False

steam-overlay
    location: /var/db/repos/steam-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
    masters: gentoo
    volatile: False

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=znver3 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=znver3 -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--tree --unordered-display --jobs 12 --load-average 24"
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="-march=znver3 -O2 -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="-march=znver3 -O2 -pipe"
GENTOO_MIRRORS="https://mirror.aarnet.edu.au/pub/gentoo/ https://ftp.jaist.ac.jp/pub/Linux/Gentoo/ https://ftp.riken.jp/Linux/gentoo/ https://download.nus.edu.sg/mirror/gentoo/"
LANG="en_AU.UTF-8"
LC_ALL="en_AU.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEFLAGS=" -j33 -j33"
MAKEOPTS="-j24 --load-average 28"
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 acpi alsa amd64 bash-completion branding bzip2 cairo caps cdda cdr cet crypt dbus dri dts dvd dvdr elogind encode exif flac gdbm gif gtk gui iconv icu ipv6 jpeg kf6compat lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp sound spell split-usr ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vim-syntax vorbis vulkan wxwidgets x264 xattr xcb xft xml xv xvid 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="aes avx avx2 avx512f avx512dq avx512cd avx512bw avx512vl avx512vbmi f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 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" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby31" 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, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, 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/chromium-126.0.6478.182::gentoo was built with the following:
USE="X official proprietary-codecs pulseaudio qt5 system-harfbuzz system-icu system-png system-toolchain system-zstd vaapi -bindist -cups -custom-cflags -debug -ffmpeg-chromium -gtk4 -hangouts (-headless) -kerberos (-libcxx) (-lto) -pax-kernel (-pgo) -qt6 -screencast (-selinux) -wayland -widevine" ABI_X86="(64)" L10N="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW"
CFLAGS="-march=znver3 -O2 -pipe -Wno-unknown-warning-option"
CXXFLAGS="-march=znver3 -O2 -pipe -Wno-unknown-warning-option"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--undefined-version"

_________________
"For it was only a penguin - albeit of a huge, unknown species larger than the greatest of the known king penguins, and monstrous in its combined albinism and virtual eyelessness." — At the Mountains of Madness, H. P. Lovecraft


Last edited by penguinomicon on Fri Jul 26, 2024 12:13 pm; edited 1 time in total
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2155

PostPosted: Fri Jul 26, 2024 11:47 am    Post subject: Re: Chromium 127: Unmask lto for new REQUIRED_USE Reply with quote

penguinomicon wrote:
I don't see anywhere under /etc/portage that lto is being masked.


It's not masked in /etc/portage. There's your user configuration. It's masked in the profile:

Code:
# Sam James <sam@gentoo.org> (2023-10-23)
# Requires llvm-17.
>=www-client/chromium-118 libcxx lto pgo


penguinomicon wrote:
Instead, I suspect it is coming from commit a6d7df22b25. It masked lto from chromium until llvm 17, but now I'm on llvm 18, so I suspect it should be removed.


No, it didn't. It made it a requirement for lto to be enabled if you enable official. That's what the expression official? ( lto ) means - if you want official you need lto.

penguinomicon wrote:
Questions:


  • If this is just some misconfiguration on my part, what might I have missed? I looked all through /etc/portage looking for anything to do with chromium and/or lto and nothing turned up which would explain the mask. I've pasted output for `emerge --info www-client/chromium` below.
  • Alternatively, should this be considered a bug and reported?
  • Yet another alternative, is this just one of those things where I should just sit it out for a few days and hopefully the package mask will be updated due to the new version of llvm now available?
  • Noticing that lto is only needed when the official use flag is set, what would be the implications of setting `-official` and using the so-called "developer build"? I don't see the difference between these builds explained, and it isn't clear to me what's going on in the part of the ebuild which consumes the official use flag. Honestly, I may prefer to not have lto with chromium, but I'm not sure yet.



It's not misconfiguration;
It's not a bug; EDIT: it is.
I don't know if you should sit on it for a few days and it'll magically resolve. It looks like this issue is being worked on; EDIT: yes, it will be fixed.
That's exactly what I would suggest - disable official, but I think the issue will soon pop into developers sight. EDIT: just wait for the fix and use the old chromium in the meantime, it should work and nothing depends on it so you should be good.

EDIT: just checked on IRC, it's a bug and will be fixed. However I didn't find a bug on the tracker.

Best Regards,
Georgi
Back to top
View user's profile Send private message
penguinomicon
n00b
n00b


Joined: 25 May 2024
Posts: 3
Location: Australia

PostPosted: Fri Jul 26, 2024 12:13 pm    Post subject: Re: Chromium 127: Unmask lto for new REQUIRED_USE Reply with quote

logrusx wrote:

EDIT: just checked on IRC, it's a bug and will be fixed. However I didn't find a bug on the tracker.


Ah, that's awesome! Thanks for checking. I'll mark this as solved.
_________________
"For it was only a penguin - albeit of a huge, unknown species larger than the greatest of the known king penguins, and monstrous in its combined albinism and virtual eyelessness." — At the Mountains of Madness, H. P. Lovecraft
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2155

PostPosted: Fri Jul 26, 2024 2:41 pm    Post subject: Reply with quote

You can disable official for the time being, but then you might need to rebuild again, which is a waste of time and energy. If you have a working chromium I suggest you wait. I'd also recommend ungoogled-chromium-bin from pf4public overlay.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum