Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 686982 - www-client/chromium-74.0.3729.169 fails to build with clang-8.0.0 and libstdc++-6.0.26 (gcc-9.1.0): chrome/browser/ui/tabs/tab_strip_model_observer.cc:51:22: error: defaulting this default constructor would delete it after its first declaration
Summary: www-client/chromium-74.0.3729.169 fails to build with clang-8.0.0 and libstdc...
Status: RESOLVED OBSOLETE
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: NeedPatch
Depends on:
Blocks:
 
Reported: 2019-05-30 07:54 UTC by Matthias Dahl
Modified: 2019-08-12 14:21 UTC (History)
4 users (show)

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


Attachments
build log (chromium-74.0.3729.169:20190529-130441.log.gz,981.76 KB, application/gzip)
2019-05-30 07:54 UTC, Matthias Dahl
Details
chromium-non-const-deltas.patch (chromium-non-const-deltas.patch,657 bytes, patch)
2019-06-03 04:40 UTC, Peter Levine
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Dahl 2019-05-30 07:54:14 UTC
Created attachment 578032 [details]
build log

Compiling www-client/chromium-74.0.3729.169 with clang-8.0.0 and libstdc++-6.0.26 from gcc-9.1.0 fails while it compiles just fine using libstdc++-6.0.25. I haven't had the time to investigate this, unfortunately.
Comment 1 Jonas Stein gentoo-dev 2019-05-30 10:04:22 UTC
Thank you for the report. Please recompile and 
paste the emerge info as described on
https://wiki.gentoo.org/wiki/Attach_the_logs_to_the_bug_ticket
The logs must be part of the ticket, but not on external websites.
We need to have all information at hand before ticket assignment, so that the maintainer can look after it in one session with minimal number of callbacks.
Please reopen this ticket (Status:unconfirmed) afterwards.
Comment 2 Matthias Dahl 2019-05-30 12:56:19 UTC
Sorry, I forgot "emerge --info" since I was in a hurry. The one below is still relevant, as nothing has changed on the system -- except chromium has been emerged w/ libstdc++-6.0.25 selected as stated earlier.

Portage 2.3.67 (python 3.6.8-final-0, default/linux/amd64/17.0/desktop/plasma/systemd, gcc-9.1.0, glibc-2.29-r2, 5.1.5-190527-r1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.1.5-190527-r1-x86_64-Intel-R-_Core-TM-_i7-6700K_CPU_@_4.00GHz-with-gentoo-2.6
KiB Mem:    32939944 total,  26208664 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Thu, 30 May 2019 08:00:01 +0000
Head commit of repository gentoo: b70da6911ad57c5f1a0a88bc30dc0f7105366cc1
sh bash 5.0_p7
ld GNU gold (Gentoo 2.32 p2 2.32.0) 1.16
app-shells/bash:          5.0_p7::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.30.0::gentoo
dev-lang/python:          2.7.16::gentoo, 3.6.8::gentoo
dev-util/cmake:           3.14.4::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/sandbox:         2.17::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.15.1-r2::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.31.1-r4::gentoo, 2.32-r1::gentoo
sys-devel/gcc:            8.3.0-r1::gentoo, 9.1.0::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: 5.0-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts: 
    sync-rsync-verify-jobs: 0
    sync-rsync-verify-metamanifest: yes

Machine-Local
    location: /usr/local/portage
    masters: gentoo

java
    location: /var/lib/layman/java
    sync-type: laymansync
    sync-uri: https://anongit.gentoo.org/git/proj/java.git
    masters: gentoo
    priority: 50

kde
    location: /var/lib/layman/kde
    sync-type: laymansync
    sync-uri: https://github.com/gentoo/kde.git
    masters: gentoo
    priority: 50

mozilla
    location: /var/lib/layman/mozilla
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/mozilla.git
    masters: gentoo
    priority: 50

qt
    location: /var/lib/layman/qt
    sync-type: laymansync
    sync-uri: https://anongit.gentoo.org/git/proj/qt.git
    masters: gentoo
    priority: 50

Installed sets: @qt5-addons, @qt5-essentials, @qt5-tools
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA intel-ucode-20180807"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/lib64/libreoffice/program/sofficerc /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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--backtrack=1000 --fail-clean --quiet-build=y"
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 binpkg-multi-instance cgroup clean-logs collision-protect compress-build-logs compressdebug config-protect-if-modified distlocks downgrade-backup ebuild-locks fail-clean fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms split-elog split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ http://mirror.netcologne.de/gentoo/ http://mirror.bytemark.co.uk/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j6"
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 berkdb bluetooth branding bzip2 cairo caps cdda cdr cli crypt cups cxx dbus declarative dri dts dvd dvdr emboss encode exif fam flac fontconfig fortran gdbm gif glamor gpm gtk iconv icu idn ipv6 jit jpeg kde kipi kwallet lcms libnotify libtirpc mad mmx mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pch pcre pdf phonon plasma png policykit postgres ppds pulseaudio qml qt5 readline scanner sdl seccomp semantic-desktop spell sse sse2 ssl startup-notification svg systemd tcpd tiff truetype udev udisks unicode upower usb vorbis wayland webp widgets wxwidgets x264 xattr xcb xcomposite xft xml xv xvid zeroconf zlib" ABI_X86="64" 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 fma3 mmx mmxext 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" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" 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="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="intel nouveau nvidia" 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, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

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

www-client/chromium-74.0.3729.169::gentoo was built with the following:
USE="closure-compile cups custom-cflags hangouts jumbo-build (pic) proprietary-codecs pulseaudio suid widevine -component-build -gnome-keyring -kerberos (-neon) (-selinux) (-system-ffmpeg) (-system-icu) (-system-libvpx) (-tcmalloc)" ABI_X86="(64)" L10N="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 vi zh-CN zh-TW"
CFLAGS="-O2 -march=native -pipe -fuse-ld=lld"
CXXFLAGS="-O2 -march=native -pipe -fuse-ld=lld"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O2 -Wl,--as-needed -fuse-ld=lld -Wl,--icf=all"
Comment 3 Arfrever Frehtes Taifersar Arahesis 2019-05-30 18:51:35 UTC
In file included from gen/chrome/browser/ui/ui_jumbo_6.cc:14:
./../../chrome/browser/ui/tabs/tab_strip_model_observer.cc:51:22: error: defaulting this default constructor would delete it after its first declaration
TabStripModelChange::TabStripModelChange() = default;
                     ^
../../chrome/browser/ui/tabs/tab_strip_model_observer.h:106:28: note: default constructor of 'TabStripModelChange' is implicitly deleted because field 'deltas_' of const-qualified type 'const std::vector<Delta>' would not be initialized
  const std::vector<Delta> deltas_;
                           ^
1 error generated.
Comment 4 Mike Gilbert gentoo-dev 2019-05-30 19:23:03 UTC
If you can find a patch for this upstream, I would be happy to backport it.
Comment 5 Peter Levine 2019-06-03 04:40:27 UTC
Created attachment 578490 [details, diff]
chromium-non-const-deltas.patch

From https://en.cppreference.com/w/cpp/language/default_constructor:

> The implicitly-declared or defaulted default constructor for class T is defined as deleted if any of the following is true:
>   T has a const member without user-defined default constructor or a default member initializer.

This patch redefines the deltas_ data member as non-const.  Upstream HEAD has since refactored delta_ as a std::unique_ptr and Delta as a polymophic class so I assume this will eventually be a non-issue.
Comment 6 Oleh 2019-06-14 18:05:35 UTC
attached patch fixes chromium-74.0.3729.169 compilation with clang-8
Comment 7 Stephan Hartmann (RETIRED) gentoo-dev 2019-06-17 10:18:24 UTC
(In reply to Peter Levine from comment #5)
> Created attachment 578490 [details, diff] [details, diff]
> chromium-non-const-deltas.patch
> 
> From https://en.cppreference.com/w/cpp/language/default_constructor:
> 
> > The implicitly-declared or defaulted default constructor for class T is defined as deleted if any of the following is true:
> >   T has a const member without user-defined default constructor or a default member initializer.
> 
> This patch redefines the deltas_ data member as non-const.  Upstream HEAD
> has since refactored delta_ as a std::unique_ptr and Delta as a polymophic
> class so I assume this will eventually be a non-issue.

Can you re-check with chromium-75? The clang-8 fix is already part the patchset.
Comment 8 Peter Levine 2019-07-03 16:23:24 UTC
(In reply to Stephan Hartmann from comment #7)
> (In reply to Peter Levine from comment #5)
> > Created attachment 578490 [details, diff] [details, diff] [details, diff]
> > chromium-non-const-deltas.patch
> > 
> > From https://en.cppreference.com/w/cpp/language/default_constructor:
> > 
> > > The implicitly-declared or defaulted default constructor for class T is defined as deleted if any of the following is true:
> > >   T has a const member without user-defined default constructor or a default member initializer.
> > 
> > This patch redefines the deltas_ data member as non-const.  Upstream HEAD
> > has since refactored delta_ as a std::unique_ptr and Delta as a polymophic
> > class so I assume this will eventually be a non-issue.
> 
> Can you re-check with chromium-75? The clang-8 fix is already part the
> patchset.

Yes. chromium-75.0.3770.100 builds fine.