PF4Public / gentoo-overlay

Personal Gentoo overlay
78 stars 18 forks source link

www-client/ungoogled-chromium: emerge fails during pretend phase #90

Closed vhns closed 3 years ago

vhns commented 3 years ago

Upon trying to emerge www-client/ungoogled-chromium, portage spats out errors during the pretend phase, warning that

/var/db/repos/gentoo/eclass/toolchain-funcs.eclass: line 835: x86_64-pc-linux-gnu-clang++: command not found

Here follows the full output for clarification:

vhns@gnomelibc-desktop ~ $ sudo cat /var/log/portage/www-client:ungoogled-chromium-91.0.4472.77-r1:20210608-204956.log
 * Package:    www-client/ungoogled-chromium-91.0.4472.77-r1
 * Repository: pf4public
 * Maintainer: PF4Public@users.noreply.github.com
 * Upstream:   https://github.com/Eloston/ungoogled-chromium/issues
 * USE:        abi_x86_64 amd64 clang elibc_glibc enable-driver hangouts js-type-check kernel_linux l10n_am l10n_ar l10n_bg l10n_bn l10n_ca l10n_cs l10n_da l10n_de l10n_el l10n_en-GB l10n_es l10n_es-419 l10n_et l10n_fa l10n_fi l10n_fil l10n_fr l10n_gu l10n_he l10n_hi l10n_hr l10n_hu l10n_id l10n_it l10n_ja l10n_kn l10n_ko l10n_lt l10n_lv l10n_ml l10n_mr l10n_ms l10n_nb l10n_nl l10n_pl l10n_pt-BR l10n_pt-PT l10n_ro l10n_ru l10n_sk l10n_sl l10n_sr l10n_sv l10n_sw l10n_ta l10n_te l10n_th l10n_tr l10n_uk l10n_vi l10n_zh-CN l10n_zh-TW official optimize-thinlto optimize-webui pgo proprietary-codecs pulseaudio screencast system-ffmpeg system-harfbuzz system-icu system-jsoncpp system-libevent system-openh264 system-openjpeg system-re2 thinlto userland_GNU vaapi vdpau wayland widevine
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
/var/db/repos/gentoo/eclass/toolchain-funcs.eclass: line 835: x86_64-pc-linux-gnu-clang++: command not found
 * ERROR: www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public failed (pretend phase):
 *   __eapi7_ver_compare: invalid version: 
 * 
 * Call stack:
 *                                   ebuild.sh, line 125:  Called pkg_pretend
 *   ungoogled-chromium-91.0.4472.77-r1.ebuild, line 248:  Called pre_build_checks
 *   ungoogled-chromium-91.0.4472.77-r1.ebuild, line 210:  Called ver_test '' '-ge' '12'
 *                          eapi7-ver-funcs.sh, line 189:  Called __eapi7_ver_compare '' '12'
 *                          eapi7-ver-funcs.sh, line  99:  Called die
 * The specific snippet of code:
 *      [[ ${va} =~ ${re} ]] || die "${FUNCNAME}: invalid version: ${va}"
 * 
 * If you need support, post the output of `emerge --info '=www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public'`,
 * the complete build log and the output of `emerge -pqv '=www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public'`.
 * The complete build log is located at '/var/log/portage/www-client:ungoogled-chromium-91.0.4472.77-r1:20210608-204956.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/temp/die.env'.
 * Working directory: '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/homedir'
 * S: '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/work/chromium-91.0.4472.77'
vhns@gnomelibc-desktop ~ $  emerge --info '=www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public'
Portage 3.0.18 (python 3.9.4-final-0, default/linux/amd64/17.1/desktop/gnome/systemd, gcc-10.3.0, glibc-2.33, 5.10.27-gentoo-x86_64 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.10.27-gentoo-x86_64-x86_64-AMD_Ryzen_5_2600_Six-Core_Processor-with-glibc2.33
KiB Mem:    16389832 total,  11080168 free
KiB Swap:   33554428 total,  33554428 free
Timestamp of repository gentoo: Tue, 08 Jun 2021 01:00:01 +0000
Head commit of repository gentoo: 44c350da1481eb2666003486ea295bc836401d01
Timestamp of repository pf4public: Tue, 08 Jun 2021 18:20:07 +0000
Head commit of repository pf4public: 62e9768f45052474e3e539ac4508a594a6df81a0

sh bash 5.1_p8
ld GNU ld (Gentoo 2.35.2 p1) 2.35.2
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.32.1::gentoo
dev-lang/python:          3.9.4_p1::gentoo
dev-lang/rust:            1.51.0-r2::gentoo
dev-util/cmake:           3.18.5::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/sandbox:         2.24::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.3-r1::gentoo
sys-devel/binutils:       2.35.2::gentoo
sys-devel/gcc:            10.3.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33::gentoo
Repositories:

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

pf4public
    location: /var/db/repos/pf4public
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/pf4public.git
    masters: gentoo

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -fomit-frame-pointer -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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="-march=native -fomit-frame-pointer -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY 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"
FCFLAGS="-march=native -fomit-frame-pointer -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs candy clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox 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=native -fomit-frame-pointer -O2 -pipe"
GENTOO_MIRRORS="http://gentoo.c3sl.ufpr.br/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
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"
USE="X a52 aac acl acpi alsa amd64 berkdb branding bzip2 cairo cdda cdr cli colord crypt dbus dri dts dvd dvdr eds emboss encode evo exif flac fortran gamepad gdbm geolocation gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gui iconv icu introspection ipv6 jpeg lcms libglvnd libnotify libsecret libtirpc mad magic mng mp3 mp4 mpeg mtp multilib nautilus ncurses networkmanager nfs nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 rdp readline samba screencast sdl seccomp spell spice split-usr ssl startup-notification svg sysprof systemd tcpd tiff tracker truetype udev udisks unicode upower usb vim-syntax vorbis vulkan wayland wxwidgets x264 xattr xcb xinerama xml xv xvid zlib zstd" ABI_X86="64 32" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache 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 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 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="X86 AMDGPU" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="amdgpu radeonsi radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS

vhns@gnomelibc-desktop ~ $ 

The fix is doing an emerge of clang before doing the ungoogled-chromium emerge with

emerge -1 sys-devel/clang

Also, if you only do the described above, you'll get the following error:

vhns@gnomelibc-desktop ~ $ sudo emerge -qv ungoogled-chromium
>>> Verifying ebuild manifests
>>> Running pre-merge checks for net-libs/nodejs-14.16.1
>>> Running pre-merge checks for dev-java/openjdk-8.292_p10
 * Checking for at least 4288 MiB disk space at "/var/tmp/portage/dev-java/openjdk-8.292_p10/temp" ...                           [ ok ]
>>> Running pre-merge checks for www-client/ungoogled-chromium-91.0.4472.77-r1
 * ERROR: www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public failed (pretend phase):
 *   At least clang 12 is required
 * 
 * Call stack:
 *                                   ebuild.sh, line 125:  Called pkg_pretend
 *   ungoogled-chromium-91.0.4472.77-r1.ebuild, line 248:  Called pre_build_checks
 *   ungoogled-chromium-91.0.4472.77-r1.ebuild, line 211:  Called die
 * The specific snippet of code:
 *                              [[ -z "${NODIE}" ]] && die "At least clang 12 is required"
 * 
 * If you need support, post the output of `emerge --info '=www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public'`,
 * the complete build log and the output of `emerge -pqv '=www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public'`.
 * The complete build log is located at '/var/log/portage/www-client:ungoogled-chromium-91.0.4472.77-r1:20210608-214225.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/temp/die.env'.
 * Working directory: '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/homedir'
 * S: '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/work/chromium-91.0.4472.77'
>>> Failed to emerge www-client/ungoogled-chromium-91.0.4472.77-r1, Log file:
>>>  '/var/log/portage/www-client:ungoogled-chromium-91.0.4472.77-r1:20210608-214225.log'
 * Package:    www-client/ungoogled-chromium-91.0.4472.77-r1
 * Repository: pf4public
 * Maintainer: PF4Public@users.noreply.github.com
 * Upstream:   https://github.com/Eloston/ungoogled-chromium/issues
 * USE:        abi_x86_64 amd64 clang elibc_glibc enable-driver hangouts js-type-check kernel_linux l10n_am l10n_ar l10n_bg l10n_bn l10n_ca l10n_cs l10n_da l10n_de l10n_el l10n_en-GB l10n_es l10n_es-419 l10n_et l10n_fa l10n_fi l10n_fil l10n_fr l10n_gu l10n_he l10n_hi l10n_hr l10n_hu l10n_id l10n_it l10n_ja l10n_kn l10n_ko l10n_lt l10n_lv l10n_ml l10n_mr l10n_ms l10n_nb l10n_nl l10n_pl l10n_pt-BR l10n_pt-PT l10n_ro l10n_ru l10n_sk l10n_sl l10n_sr l10n_sv l10n_sw l10n_ta l10n_te l10n_th l10n_tr l10n_uk l10n_vi l10n_zh-CN l10n_zh-TW official optimize-thinlto optimize-webui pgo proprietary-codecs pulseaudio screencast system-ffmpeg system-harfbuzz system-icu system-jsoncpp system-libevent system-openh264 system-openjpeg system-re2 thinlto userland_GNU vaapi vdpau wayland widevine
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
 * ERROR: www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public failed (pretend phase):
 *   At least clang 12 is required
 * 
 * Call stack:
 *                                   ebuild.sh, line 125:  Called pkg_pretend
 *   ungoogled-chromium-91.0.4472.77-r1.ebuild, line 248:  Called pre_build_checks
 *   ungoogled-chromium-91.0.4472.77-r1.ebuild, line 211:  Called die
 * The specific snippet of code:
 *                              [[ -z "${NODIE}" ]] && die "At least clang 12 is required"
 * 
 * If you need support, post the output of `emerge --info '=www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public'`,
 * the complete build log and the output of `emerge -pqv '=www-client/ungoogled-chromium-91.0.4472.77-r1::pf4public'`.
 * The complete build log is located at '/var/log/portage/www-client:ungoogled-chromium-91.0.4472.77-r1:20210608-214225.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/temp/die.env'.
 * Working directory: '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/homedir'
 * S: '/var/tmp/portage/www-client/ungoogled-chromium-91.0.4472.77-r1/work/chromium-91.0.4472.77'
vhns@gnomelibc-desktop ~ $ 

So you need to specify clang's version 12.

emerge -1 sys-devel/clang:12

And then emerge ungoogled-chromium.

I assume this means that the dependencies in the ebuild need to be changed to specify clang 12 and that it shouldn't check for clang in the prepare phase.

vhns commented 3 years ago

So far these are the packages I've tracked down that would need to be bumped to their respective versions =>12 as dependencies:

sys-devel/clang sys-devel/llvm sys-devel/clang-runtime sys-libs/compiler-rt sys-libs/compiler-rt-sanitizers sys-libs/libomp sys-devel/lld

PF4Public commented 3 years ago

@vhns Have you seen #83 #84 #86 ?

vhns commented 3 years ago

Got it, thanks