Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 678252 - www-client/chromium-73.0.3683.27 fails to build with clang
Summary: www-client/chromium-73.0.3683.27 fails to build with clang
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-17 20:36 UTC by Mike Lothian
Modified: 2020-04-15 16:05 UTC (History)
7 users (show)

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


Attachments
build.log.xz (build.log.xz,183.02 KB, application/x-xz)
2019-02-17 20:36 UTC, Mike Lothian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Lothian 2019-02-17 20:36:27 UTC
Created attachment 565680 [details]
build.log.xz

This is currently failing with clang, I'm trying without the GCC patches to see if they're maybe the cause
Comment 1 Mike Lothian 2019-02-17 20:37:24 UTC
Portage 2.3.60 (python 3.7.0-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-8.2.0, glibc-2.29, 5.0.0-rc1-agd5f+ x86_64)
=================================================================
System uname: Linux-5.0.0-rc1-agd5f+-x86_64-Intel-R-_Core-TM-_i7-6820HK_CPU_@_2.70GHz-with-gentoo-2.6
KiB Mem:    32747852 total,  10443304 free
KiB Swap:          0 total,         0 free
Head commit of repository gentoo: 50c021a4fb00dd9a1a940c990437acbde1da5471

Head commit of repository FireBurn: 6856286925751c747fa8270c32713dd2f5e454d3

Head commit of repository gamerlay: b2b14ab99ae8273cf4cf1cf15458294663d444c5

Head commit of repository kde: 175c8d029565cc371536409f022efe2f2c92d8b3

Timestamp of repository qt: Fri, 15 Feb 2019 12:43:41 +0000
Head commit of repository qt: e11da50a6d3db3818bcad777249bb87e2c4d86c9

Timestamp of repository steam-overlay: Sat, 16 Feb 2019 13:34:06 +0000
Head commit of repository steam-overlay: 743673f30e1ec1ba004d4e7ba1a1358882702f54

Timestamp of repository x11: Wed, 13 Feb 2019 21:33:51 +0000
Head commit of repository x11: 35c22e901bfaa2b5576cf1fe7a5decbbb487cf8a

sh bash 5.0_p2
ld GNU gold (Gentoo 2.32 p1 2.32.0) 1.16
app-shells/bash:          5.0_p2::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.28.0::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.6::gentoo, 3.7.0::gentoo
dev-util/cmake:           3.13.4::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/sandbox:         2.15::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.32::gentoo
sys-devel/gcc:            8.2.0-r6::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r5::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.20::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo/gentoo
    priority: -1000

FireBurn
    location: /home/fireburn/Overlay
    sync-type: git
    sync-uri: https://github.com/FireBurn/Overlay
    sync-user: fireburn:users
    masters: gentoo

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

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

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

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

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

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O3 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.6/conf /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
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="-O3 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask-write --with-bdeps y --complete-graph y --keep-going"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN 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="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
LINGUAS="en_GB en"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
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 activities alsa amd64 apng berkdb bluetooth branding brightness-control bzip2 cairo cdr cli connection-sharing crypt cups custom-cflags cxx d3d9 dav1d dbus declarative default-gold dri dri3 drm dts dvdr egl emboss encode exif fam ffmpeg flac fortran gbm gdbm gif glamor gold googledrive gpm graphite gstreamer gtk harfbuzz http2 iconv icu ipv6 ithreads jpeg kde kipi kwallet lcms ldap legacy-systray libkms libnotify libtirpc llvm lm_sensors lzma lzo mad mng mp3 mp4 mpeg mpris mpx multilib ncurses networkmanager nls nptl nsplugin ogg openal opengl openmp openssl opus pam pango pba pcre pdf pdfimport phonon plasma png policykit postproc ppds pulseaudio qml qt5 readline seccomp spell ssl startup-notification svg sync-plugin-portage systemd tcpd theora threads thumbnail tiff touchpad truetype udev udisks unicode upower usb user-session v4l vaapi vdpau vorbis vpx vulkan wayland webp widgets wifi wxwidgets x264 xattr xcb xcomposite xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="hda-intel" 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 access_compat" 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 sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics libinput" KERNEL="linux" L10N="en-GB en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="AMDGPU" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_7 python2_7" RUBY_TARGETS="ruby25" USERLAND="GNU" VIDEO_CARDS="intel i965 radeon radeonsi amdgpu" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Mike Lothian 2019-02-17 20:38:29 UTC
CC=clang
CXX=clang++
CFLAGS="-O3 -pipe -flto=thin -march=native"
CXXFLAGS="${CFLAGS}"
LDFLAGS="${CFLAGS}"
AR="ar"
NM="nm"
RANLIB=/bin/true
Comment 3 Mike Lothian 2019-02-17 22:47:11 UTC
Taking out the GCC patches just triggers an earlier failure

FAILED: obj/ui/gfx/gfx/color_utils.o 
clang++ -MMD -MF obj/ui/gfx/gfx/color_utils.o.d -DGFX_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DENABLE_IPC_FUZZER -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSK_VULKAN_HEADER=\"../../skia/config/SkVulkanConfig.h\" -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DVK_NO_PROTOTYPES -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -DUSE_SYSTEM_ZLIB=1 -I../.. -Igen -Igen/shim_headers/libpng_shim -Igen/shim_headers/libwebp_shim -Igen/shim_headers/zlib_shim -Igen/shim_headers/libdrm_shim -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/docs -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/gpu -I../../third_party/skia/include/pathops -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/vulkan/include -I../../third_party/skia/third_party/vulkanmemoryallocator -I../../third_party/skia/include/codec -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/skia/modules/skottie/include -I../../third_party/vulkan/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/ced/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -no-canonical-prefixes -Wimplicit-fallthrough -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -fno-omit-frame-pointer -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wshadow -Wexit-time-destructors -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -std=c++14 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O3 -pipe -flto=thin -march=native -c ../../ui/gfx/color_utils.cc -o obj/ui/gfx/gfx/color_utils.o
../../ui/gfx/color_utils.cc:434:7: error: no member named 'sqrtf' in namespace 'std'; did you mean simply 'sqrtf'?
      std::sqrtf((dark_luminance + 0.05f) * (kWhiteLuminance + 0.05f)) - 0.05f;
      ^~~~~~~~~~
      sqrtf
/usr/include/bits/mathcalls.h:143:1: note: 'sqrtf' declared here
__MATHCALL (sqrt,, (_Mdouble_ __x));
^
/usr/include/math.h:273:3: note: expanded from macro '__MATHCALL'
  __MATHDECL (_Mdouble_,function,suffix, args)
  ^
/usr/include/math.h:275:3: note: expanded from macro '__MATHDECL'
  __MATHDECL_1(type, function,suffix, args); \
  ^
/usr/include/math.h:283:15: note: expanded from macro '__MATHDECL_1'
  extern type __MATH_PRECNAME(function,suffix) args __THROW
              ^
/usr/include/math.h:303:34: note: expanded from macro '__MATH_PRECNAME'
# define __MATH_PRECNAME(name,r) name##f##r
                                 ^
<scratch space>:286:1: note: expanded from here
sqrtf
^
1 error generated.
Comment 4 Kyle Elbert 2019-02-23 08:56:29 UTC
I ran into the same build failure, but I found an upstream bug ( https://bugs.chromium.org/p/chromium/issues/detail?id=931373 ) with a fix: https://chromium.googlesource.com/chromium/src/+/08b9fbc728043c89f21af46796bacd7324b7ce06%5E%21/#F0
Comment 5 Mike Lothian 2019-02-24 03:16:54 UTC
I can confirm that patch gets things compiling for me here
Comment 6 Oleh 2019-02-24 11:10:30 UTC
Confirmed that above mentioned upstream change allows chromium-73 to build with clang.
Comment 7 wbrana 2019-03-18 09:04:46 UTC
73.0.3683.75 still failed with clang
Comment 8 Ingo Brunberg 2019-03-18 09:50:02 UTC
The patch mentioned in #4, needed for successfully compiling with clang, is apparently not yet included in chromium-73.0.3683.75.
Comment 9 Lyall Pearce 2019-03-23 10:11:01 UTC
I have gcc 8.2 as my prime compiler but also had clang-6 installed.

My build failed when using Clang-6, even though I expected gcc to be used.

I have ~amd64 keyworded clang and related builds to clang-7 and the build still fails using clang-7.
Comment 10 Mike Lothian 2019-03-23 10:15:33 UTC
Clang 9 here and I'm still running with this in my patches directory for chromium

diff --git a/media/learning/common/value.h b/media/learning/common/value.h
index 62f4953..ef37eeb 100644
--- a/media/learning/common/value.h
+++ b/media/learning/common/value.h
@@ -27,7 +27,7 @@
  public:
   Value();
   template <typename T>
-  explicit Value(T x) : value_(x) {
+  explicit Value(const T& x) : value_(x) {
     // We want to rule out mostly pointers, since they wouldn't make much sense.
     // Note that the implicit cast would likely fail anyway.
     static_assert(std::is_arithmetic<T>::value || std::is_enum<T>::value,