/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc/unwind-dw2.c: In function `uw_frame_state_for': /var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/gcc-3.3.6/gcc/unwind-dw2.c:954: error: dereferencing pointer to incomplete type make[2]: *** [libgcc.mk:200: libgcc/./unwind-dw2.o] Error 1 make[2]: Leaving directory '/var/tmp/portage/sys-libs/libstdc++-v3-3.3.6-r1/work/build/gcc' make[1]: *** [Makefile:1509: stmp-multilib] Error 2 ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0-systemd_20171110-180110 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-6.4.0 * Available Python interpreters, in order of preference: [1] python3.4 [2] python3.6 (fallback) [3] python2.7 (fallback) [4] pypy3 (fallback) [5] pypy (fallback) Available Ruby profiles: [1] ruby22 (with Rubygems) * java-config: The following VMs are available for generation-2: emerge -qpv sys-libs/libstdc++-v3 [ebuild N ] sys-libs/libstdc++-v3-3.3.6-r1 USE="multilib nls"
Created attachment 504300 [details] emerge-info.txt
Created attachment 504302 [details] emerge-history.txt
Created attachment 504304 [details] environment
Created attachment 504306 [details] etc.portage.tbz2
Created attachment 504308 [details] logs.tbz2
Created attachment 504310 [details] sys-libs:libstdc++-v3-3.3.6-r1:20171115-024602.log.bz2
Created attachment 504312 [details] temp.tbz2
Same error here.
Portage 2.3.16 (python 3.6.3-final-0, default/linux/amd64/17.0, gcc-7.2.0, glibc-2.26-r3, 4.14.0-gentoo x86_64) ================================================================= System uname: Linux-4.14.0-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_X_990_@_3.47GHz-with-gentoo-2.4.1 KiB Swap: 25690108 total, 20827656 free Timestamp of repository gentoo: Sun, 03 Dec 2017 01:45:01 +0000 Head commit of repository gentoo: 4aae72be00074f5c93687d4ae16d142f4a28663b sh bash 4.4_p12 ld GNU ld (Gentoo 2.29.1 p3) 2.29.1 distcc[6814] (dcc_mkdir) ERROR: mkdir '/var/tmp/portage/.distcc//state' failed: No such file or directory [disabled] ccache version 3.3.4 [enabled] app-shells/bash: 4.4_p12::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.26.1-r1::gentoo dev-lang/python: 2.7.14-r1::gentoo, 3.5.4-r1::gentoo, 3.6.3-r1::gentoo dev-util/ccache: 3.3.4-r1::gentoo dev-util/cmake: 3.10.0::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1-r2::gentoo sys-apps/openrc: 0.34.11::gentoo sys-apps/sandbox: 2.12::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.11.6-r2::gentoo, 1.15.1-r1::gentoo sys-devel/binutils: 2.29.1-r1::gentoo sys-devel/gcc: 7.2.0::gentoo sys-devel/gcc-config: 1.9.0::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 4.2.1-r1::gentoo sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers) sys-libs/glibc: 2.26-r3::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage priority: -1000 sync-rsync-extra-opts: --exclude-from=/etc/portage/rsync_excludes bl4ckb0x location: /usr/local/portage masters: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -mfpmath=sse,387 -mtune=intel -O3 -fomit-frame-pointer -malign-data=abi -mtls-dialect=gnu2 -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/php/apache2-php7.1/ext-active/ /etc/php/apache2-php7.2/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cgi-php7.2/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/php/cli-php7.2/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-march=native -mfpmath=sse,387 -mtune=intel -O3 -fomit-frame-pointer -malign-data=abi -mtls-dialect=gnu2 -pipe -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--autounmask=n --quiet-build=n --with-bdeps=y" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://mirror.netcologne.de/gentoo/" INSTALL_MASK="/etc/systemd/* /etc/xinetd.d/* /usr/lib/systemd/system/*" LANG="de_DE.UTF-8" LC_ALL="de_DE.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now" MAKEOPTS="-j13 -l12" PKGDIR="/usr/portage/packages" PORTAGE_BUNZIP2_COMMAND="pbunzip2" PORTAGE_BZIP2_COMMAND="pbzip2" PORTAGE_COMPRESS="xz" PORTAGE_COMPRESS_FLAGS="-9e" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes" 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 aalib acl alsa amd64 avahi bcmath berkdb bzip2 cairo caps cddb cdinstall cjk cracklib crypt ctype curl cvs cxx dbus dedicated dga djvu encode exif fbcon ffmpeg fftw flac flite fontconfig ftp gd gif git gmp gnutls gpm graphviz gsm gstreamer iconv icu idn imagemagick imlib inotify introspection ipv6 java javascript jbig jit joystick jpeg jpeg2k lcms ldap libcaca libnotify libsamplerate lm_sensors lzma lzo maildir mbox mhash mikmod mmap mng modplug mp3 mysql mysqli ncurses nls nntp nptl nsplugin offensive ogg openal opencl openexr opengl openmp orc oss pam pcre pdf perl png posix postproc postscript pulseaudio python qt4 qt5 raw readline rtmp samba sdl session simplexml slang sndfile sockets sound speex spell sqlite ssl subversion suid svg symlink syslog tcpd theora threads tiff timidity truetype udev unicode upnp usb v4l vaapi vcd vdpau vhosts vim-syntax vnc vorbis wavpack webkit webp wmf x264 xattr xcb xface xml xmlrpc xmp xmpp xpm xscreensaver xv xvid zeroconf zlib zsh-completion" ABI_X86="32 64" COLLECTD_PLUGINS="cgroups conntrack contextswitch cpu cpufreq cpusleep df disk dns entropy ethstat exec filecount hddtemp hugepages interface ipc iptables irq java load memory mysql netlink nfs nginx numa openvpn ping postgresql processes protocols rrdcached sensors serial smart swap syslog tcpconns thermal turbostat unixsock uptime users" CPU_FLAGS_X86="aes mmx mmxext sse sse2 sse3 ssse3 sse4_1 sse4_2" CURL_SSL="openssl" ELIBC="glibc" GRUB_PLATFORMS="pc" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de de_DE" LINGUAS="de de_DE" LLVM_TARGETS="AMDGPU" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset fancyindex fastcgi geo geoip gunzip gzip headers_more limit_conn proxy realip referer rewrite sticky stub_status upstream_keepalive" NGINX_MODULES_STREAM="access geo geoip limit_conn realip return ssl_preread" PHP_TARGETS="php7-1" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon" Unset: CC, CPPFLAGS, CTARGET, CXX
Chasing this through gcc -E reveals it comes down to this statement: sc_ = (struct sigcontext *) &uc_->uc_mcontext; I believe uc is of the offending incomplete type: struct ucontext uc. If I manually ebuild prepare ${ebuild}; cd ${workdir}; and replace the two occurrences of "struct ucontext" with "struct ucontext_t" in gcc/config/i386/linux64.h; ebuild compile ${ebuild} now succeeds. However it's not at all clear to me when this fix is applicable and when, not, so this workaround is at best a possible fix. I suspect this is something to do with fixincludes and the correct magic sauce could be backported from newer gccs. Good lord, what a nightmare it must be for toolchain people to maintain this thing...
*** Bug 641068 has been marked as a duplicate of this bug. ***
(In reply to Greg Turner from comment #10) > "struct ucontext" > > with > > "struct ucontext_t" > > in gcc/config/i386/linux64.h; ebuild compile ${ebuild} now succeeds. Thanks, it did worked for me.
Created attachment 511898 [details, diff] libstdc++-v3-3.3.6-r1-glibc-2.26-ebuild.patch (In reply to Greg Turner from comment #10) > "struct ucontext" > > with > > "struct ucontext_t" > > in gcc/config/i386/linux64.h; ebuild compile ${ebuild} now succeeds. Thanks, works for me as well, this is a hack to automate that: mkdir -p /usr/local/portage/sys-libs/libstdc++-v3 cd /usr/local/portage/sys-libs/libstdc++-v3 cp -pR /usr/portage/sys-libs/libstdc++-v3/* . patch --verbose -p 5 </path-to-patch/libstdc++-v3-3.3.6-r1-glibc-2.26-ebuild.patch repoman fix
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58ab932cf383aefaab66263f659429889152d569 commit 58ab932cf383aefaab66263f659429889152d569 Author: Andreas K. Hüttel <dilfridge@gentoo.org> AuthorDate: 2018-01-01 20:44:53 +0000 Commit: Andreas K. Hüttel <dilfridge@gentoo.org> CommitDate: 2018-01-01 20:45:37 +0000 sys-libs/libstdc++-v3: Fix build with glibc-2.26, bug 637608 We need to patch conditionally since the patch breaks the build with glibc-2.25. Closes: https://bugs.gentoo.org/637608 Package-Manager: Portage-2.3.19, Repoman-2.3.6 .../files/libstdc++-v3-3.3.6-glibc226.patch | 33 ++++++++++++++++++++++ sys-libs/libstdc++-v3/libstdc++-v3-3.3.6-r1.ebuild | 6 +++- 2 files changed, 38 insertions(+), 1 deletion(-)