Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 637608 - sys-libs/libstdc++-v3-3.3.6-r1 with sys-libs/glibc-2.26 : /.../unwind-dw2.c:954: error: dereferencing pointer to incomplete type
Summary: sys-libs/libstdc++-v3-3.3.6-r1 with sys-libs/glibc-2.26 : /.../unwind-dw2.c:9...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
: 641068 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-11-15 18:44 UTC by Toralf Förster
Modified: 2018-01-01 20:45 UTC (History)
4 users (show)

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


Attachments
emerge-info.txt (emerge-info.txt,15.76 KB, text/plain)
2017-11-15 18:44 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,219.12 KB, text/plain)
2017-11-15 18:44 UTC, Toralf Förster
Details
environment (environment,90.09 KB, text/plain)
2017-11-15 18:44 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,16.58 KB, application/x-bzip)
2017-11-15 18:44 UTC, Toralf Förster
Details
logs.tbz2 (logs.tbz2,6.90 KB, application/x-bzip)
2017-11-15 18:45 UTC, Toralf Förster
Details
sys-libs:libstdc++-v3-3.3.6-r1:20171115-024602.log.bz2 (sys-libs:libstdc++-v3-3.3.6-r1:20171115-024602.log.bz2,100.10 KB, application/x-bzip)
2017-11-15 18:45 UTC, Toralf Förster
Details
temp.tbz2 (temp.tbz2,124.27 KB, application/x-bzip)
2017-11-15 18:45 UTC, Toralf Förster
Details
libstdc++-v3-3.3.6-r1-glibc-2.26-ebuild.patch (libstdc++-v3-3.3.6-r1-glibc-2.26-ebuild.patch,552 bytes, patch)
2017-12-28 22:22 UTC, Mark Wright
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2017-11-15 18:44:44 UTC
/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"
Comment 1 Toralf Förster gentoo-dev 2017-11-15 18:44:48 UTC
Created attachment 504300 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2017-11-15 18:44:52 UTC
Created attachment 504302 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2017-11-15 18:44:55 UTC
Created attachment 504304 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2017-11-15 18:44:58 UTC
Created attachment 504306 [details]
etc.portage.tbz2
Comment 5 Toralf Förster gentoo-dev 2017-11-15 18:45:01 UTC
Created attachment 504308 [details]
logs.tbz2
Comment 6 Toralf Förster gentoo-dev 2017-11-15 18:45:04 UTC
Created attachment 504310 [details]
sys-libs:libstdc++-v3-3.3.6-r1:20171115-024602.log.bz2
Comment 7 Toralf Förster gentoo-dev 2017-11-15 18:45:08 UTC
Created attachment 504312 [details]
temp.tbz2
Comment 8 Conrad Kostecki gentoo-dev 2017-12-03 17:56:04 UTC
Same error here.
Comment 9 Conrad Kostecki gentoo-dev 2017-12-03 17:56:15 UTC
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
Comment 10 Greg Turner 2017-12-14 02:51:38 UTC
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...
Comment 11 Andreas K. Hüttel archtester gentoo-dev 2017-12-15 00:32:03 UTC
*** Bug 641068 has been marked as a duplicate of this bug. ***
Comment 12 Conrad Kostecki gentoo-dev 2017-12-16 21:44:16 UTC
(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.
Comment 13 Mark Wright gentoo-dev 2017-12-28 22:22:06 UTC
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
Comment 14 Larry the Git Cow gentoo-dev 2018-01-01 20:45:55 UTC
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(-)