Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 828099 - dev-qt/qtwebengine-5.15.2_p20211019 fails to build with clang: error: variable-sized object may not be initialized
Summary: dev-qt/qtwebengine-5.15.2_p20211019 fails to build with clang: error: variabl...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on: 829196
Blocks: systemwide-clang glibc-2.34
  Show dependency tree
 
Reported: 2021-12-03 18:51 UTC by Marco Rebhan
Modified: 2022-01-12 23:14 UTC (History)
6 users (show)

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


Attachments
build.log (build.log.xz,250.15 KB, application/x-xz)
2021-12-03 18:51 UTC, Marco Rebhan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Rebhan 2021-12-03 18:51:52 UTC
Created attachment 757344 [details]
build.log

FAILED: obj/sandbox/linux/sandbox_services/credentials.o 
/usr/lib/llvm/13/bin/clang++ -MMD -MF obj/sandbox/linux/sandbox_services/credentials.o.d -DSANDBOX_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I../../../../qtwebengine-5.15.2_p20211019/src/3rdparty/chromium -I../../../../qtwebengine-5.15.2_p20211019/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen -Igen -Igen -I../../../../qtwebengine-5.15.2_p20211019/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../qtwebengine-5.15.2_p20211019/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../qtwebengine-5.15.2_p20211019/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-attributes -Wno-unknown-pragmas -Wno-unknown-warning-option -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -no-canonical-prefixes -Wall -Wextra -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wimplicit-fallthrough -Wunreachable-code -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-psabi -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-non-c-typedef-for-linkage -Wno-max-tokens -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wno-parentheses-equality -Wno-tautological-compare -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++14 -fno-trigraphs -Wno-trigraphs -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../../../qtwebengine-5.15.2_p20211019/src/3rdparty/chromium/sandbox/linux/services/credentials.cc -o obj/sandbox/linux/sandbox_services/credentials.o
../../../../qtwebengine-5.15.2_p20211019/src/3rdparty/chromium/sandbox/linux/services/credentials.cc:101:16: error: variable-sized object may not be initialized
  char tls_buf[PTHREAD_STACK_MIN] = {0};
               ^~~~~~~~~~~~~~~~~
/usr/include/bits/pthread_stack_min-dynamic.h:26:30: note: expanded from macro 'PTHREAD_STACK_MIN'
#   define PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE)
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Portage 3.0.28 (python 3.9.9-final-0, default/linux/amd64/17.1/desktop/plasma, gcc-11.2.1, glibc-2.34-r3, 5.14.21-gentoo-dist x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.14.21-gentoo-dist-x86_64-AMD_Ryzen_5_5600X_6-Core_Processor-with-glibc2.34
KiB Mem:    24535432 total,   2223072 free
KiB Swap:    4194300 total,    436356 free
Timestamp of repository gentoo: Fri, 03 Dec 2021 16:21:44 +0000
Head commit of repository gentoo: 9c0b6c12f07f1857d77b8b18d6c715469ce22a30

Head commit of repository 2xsaiko: e61ecbb0f38e80ec7b2cadfa408dde436a3a5059

Timestamp of repository go-overlay: Tue, 09 Nov 2021 10:53:09 +0000
Head commit of repository go-overlay: af60b18d3feda8fdf6d0bc2b9ec4178f3367face

Timestamp of repository guru: Thu, 02 Dec 2021 16:51:47 +0000
Head commit of repository guru: 8978a75b0e7f6c76d0fda9455873023aae866239

Timestamp of repository kde: Fri, 03 Dec 2021 11:06:33 +0000
Head commit of repository kde: 094602f2b6c9deee0fb9a9a549758572ef84071b

Timestamp of repository khoverlay: Wed, 01 Dec 2021 03:21:21 +0000
Head commit of repository khoverlay: 9b93f69e083c042f81af65f498c0de3e8399448e

Timestamp of repository liftm: Sun, 21 Nov 2021 02:51:18 +0000
Head commit of repository liftm: a56bbd937605add7b64443930f0fc5b203abf91e

Timestamp of repository nix-guix: Tue, 09 Nov 2021 10:53:26 +0000
Head commit of repository nix-guix: b85bd3d08179126ee67bacd2eac0ba9f3af661ee

Timestamp of repository qownnotes-overlay: Tue, 30 Nov 2021 21:36:29 +0000
Head commit of repository qownnotes-overlay: 8b32e43af4705c34c24f217a85cec090e07c0c20

Timestamp of repository raiagent: Sat, 20 Nov 2021 04:36:26 +0000
Head commit of repository raiagent: b515e60da3c1ab581cadfb24ebf31d023b7d777a

Timestamp of repository steam-overlay: Tue, 09 Nov 2021 10:53:07 +0000
Head commit of repository steam-overlay: b21d724e69a176a398cae2db70172cb9dfede48a

Timestamp of repository tatsh-overlay: Fri, 03 Dec 2021 06:36:27 +0000
Head commit of repository tatsh-overlay: d7bf2ced1b593925bfcb7dbc0e0212eb8c15ed61

sh bash 5.1_p12
ld GNU ld (Gentoo 2.37_p1 p1) 2.37
app-shells/bash:          5.1_p12::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.34.0-r5::gentoo
dev-lang/python:          2.7.18_p13::gentoo, 3.9.9::gentoo, 3.10.0_p1::gentoo
dev-lang/rust:            1.56.1::gentoo
dev-util/cmake:           3.22.0::gentoo
sys-apps/baselayout:      2.8::gentoo
sys-apps/openrc:          0.44.9::gentoo
sys-apps/sandbox:         2.29::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake:       1.16.5::gentoo
sys-devel/binutils:       2.37_p1-r1::gentoo
sys-devel/gcc:            11.2.1_p20211127::gentoo
sys-devel/gcc-config:     2.5-r1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.15-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.34-r3::gentoo
Repositories:

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

2xsaiko
    location: /var/db/repos/2xsaiko
    sync-type: git
    sync-uri: https://git.sr.ht/~dblsaiko/ebuilds
    masters: gentoo

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

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

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

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

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

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

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

raiagent
    location: /var/db/repos/raiagent
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/raiagent.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

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

local
    location: /var/db/repos/local
    masters: gentoo
    priority: 9999

Installed sets: @base, @desktop, @uefi, @uni
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CC="clang"
CFLAGS=" -march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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"
CXX="clang++"
CXXFLAGS=" -march=native -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 -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance 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 -O2 -pipe"
GENTOO_MIRRORS="   https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/   https://mirror.netcologne.de/gentoo/   https://ftp.fau.de/gentoo   https://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-fuse-ld=lld -rtlib=compiler-rt -unwindlib=libunwind"
MAKEOPTS=" -j11"
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 activities alsa amd64 bluetooth branding bzip2 cairo cdda cdr clang cli crypt cups dbus declarative dist-kernel dri dts dvd dvdr elogind emboss encode exif flac fortran gdbm gif gpm gtk gui iconv icu ipv6 jpeg kde kipi kwallet lcms libglvnd libnotify libtirpc mad mng mp3 mp4 mpeg mtp multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 readline screencast sdl seccomp semantic-desktop spell split-usr ssl startup-notification svg tiff truetype udev udisks unicode upower usb vaapi vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2019" 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" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby30" 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:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS

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

dev-qt/qtwebengine-5.15.2_p20211019::gentoo was built with the following:
USE="alsa geolocation jumbo-build pulseaudio system-ffmpeg system-icu widgets -bindist -debug -designer -kerberos -test" ABI_X86="(64)"
FEATURES="xattr preserve-libs sfperms unmerge-logs assume-digests userpriv usersandbox qa-unresolved-soname-deps sandbox userfetch distlocks binpkg-multi-instance ebuild-locks config-protect-if-modified unknown-features-warn multilib-strict merge-sync binpkg-dostrip news unmerge-orphans pid-sandbox parallel-fetch fixlafiles ipc-sandbox binpkg-docompress network-sandbox strict binpkg-logs usersync protect-owned"
Comment 1 Andreas Sturmlechner gentoo-dev 2021-12-13 18:23:10 UTC
I've built qtwebengine several times successfully against glibc-2.34, even older version, why that blocker now?
Comment 2 Stephan Hartmann (RETIRED) gentoo-dev 2021-12-13 18:32:55 UTC
(In reply to Andreas Sturmlechner from comment #1)
> I've built qtwebengine several times successfully against glibc-2.34, even
> older version, why that blocker now?

Because it happens only with glibc-2.34 + clang. PTHREAD_STACK_MIN is no longer constant in glibc-2.34. Variable-sized arrarys is not allowed in C++, but both GCC and Clang have an extension to support it. However, Clang does not allow initialization. This is my workaround in Chromium:
https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-glibc-2.34.patch#n29
Comment 3 Andreas Sturmlechner gentoo-dev 2021-12-13 18:44:13 UTC
Since when is systemwide-clang a factor for other blockers? Imo it must not block glibc stabilisation.
Comment 4 Andreas Sturmlechner gentoo-dev 2021-12-13 18:48:57 UTC
How is the sandbox change related to glibc? The patch header does not make reference to it.
Comment 5 Stephan Hartmann (RETIRED) gentoo-dev 2021-12-13 18:59:04 UTC
(In reply to Andreas Sturmlechner from comment #3)
> Since when is systemwide-clang a factor for other blockers? Imo it must not
> block glibc stabilisation.

I got the same in bug #823857. Feel free to unblock glibc stabilization, I don't care much either.
Comment 6 Stephan Hartmann (RETIRED) gentoo-dev 2021-12-13 18:59:50 UTC
(In reply to Andreas Sturmlechner from comment #4)
> How is the sandbox change related to glibc? The patch header does not make
> reference to it.

This is only my quick hack to make it work. No response from upstream so far. glibc-2.34 is not supported by Chromium at the moment.
Comment 7 Larry the Git Cow gentoo-dev 2021-12-14 18:13:36 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b363104490499e964301ec743e7e6d825255063

commit 3b363104490499e964301ec743e7e6d825255063
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2021-12-14 18:10:13 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2021-12-14 18:12:51 +0000

    dev-qt/qtwebengine: 5.15.2_p20211210 snapshot bump
    
    Patched with security patches up to Chromium version: 96.0.4664.93
    
    Snapshotted at:
    Branch: 5.15.8
    Commit: 6369c52cebd276f03856dd333af727fd8427ac63
    
    Submodule qtwebengine-chromium.git:
    Branch: 87-based
    Commit: 2918e073086af29bd3e4176cd2403dffa789fdc0
    
    Bug: https://bugs.gentoo.org/828099
    Bug: https://bugs.gentoo.org/829161
    Package-Manager: Portage-3.0.30, Repoman-3.0.3
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 dev-qt/qtwebengine/Manifest                        |   1 +
 ...ngine-5.15.2_p20211210-sandbox-glibc-2.34.patch |  27 +++
 .../qtwebengine-5.15.2_p20211210.ebuild            | 228 +++++++++++++++++++++
 3 files changed, 256 insertions(+)
Comment 8 Larry the Git Cow gentoo-dev 2021-12-24 23:57:34 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/qt.git/commit/?id=83411b823ced34db7cad8f19b7c4212b4af5ffe7

commit 83411b823ced34db7cad8f19b7c4212b4af5ffe7
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2021-10-17 06:43:59 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2021-12-24 23:55:51 +0000

    dev-qt/qtwebengine: Sync patches from Gentoo ebuild repo
    
    - pdfium-system-lcms2 patch
    - supposed systemwide-clang w/ glibc-2.34 fix
    
    Bug: https://bugs.gentoo.org/828099
    Package-Manager: Portage-3.0.30, Repoman-3.0.3
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 ...gine-5.15.2_p20211015-pdfium-system-lcms2.patch | 79 ++++++++++++++++++++++
 ...ngine-5.15.2_p20211210-sandbox-glibc-2.34.patch | 27 ++++++++
 dev-qt/qtwebengine/qtwebengine-5.15.2.9999.ebuild  |  2 +
 3 files changed, 108 insertions(+)
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2022-01-12 23:14:13 UTC
Also fixed in stable.