Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 630720

Summary: sys-libs/libcxx-3.9.1: Header files have changed between ABIs.
Product: Gentoo Linux Reporter: Thomas Beutin <tb>
Component: Current packagesAssignee: Alexis Ballier <aballier>
Status: UNCONFIRMED ---    
Severity: normal CC: bsd+disabled, jstein, llvm, mgorny
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description Thomas Beutin 2017-09-11 19:22:21 UTC
* Header files have changed between ABIs.
 * --- /var/tmp/portage/sys-libs/libcxx-3.9.1/temp/.multilib_header_cksum       2017-09-11 20:35:02.476827837 +0200
 * +++ /var/tmp/portage/sys-libs/libcxx-3.9.1/temp/.multilib_header_cksum.new   2017-09-11 20:35:02.680827365 +0200
 * @@ -21,6 +21,7 @@
 *  2795259519 13116 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/thread
 *  2501199234 13263 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/memory_resource
 *  1356647454 1327 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/float.h
 * +1719854431 1333 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/bits/cpu_defines.h
 *  1792313765 134230 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/valarray
 *  794227430 13549 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/cmath
 *  1053333045 1370 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/chrono
 * @@ -48,7 +49,9 @@
 *  800849921 1745 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/cctype
 *  622742014 1768 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/string
 *  2113255944 1780 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/regex
 * +667027746 1783 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/bits/os_defines.h
 *  3090244805 17834 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/functional
 * +4255169671 1811 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/bits/cxxabi_forced.h
 *  3378320796 1812 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/unordered_set
 *  1228620701 181713 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/memory
 *  1298206509 18250 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/iomanip
 * @@ -60,10 +63,12 @@
 *  990264027 2009 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/unordered_map
 *  2107387492 20446 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/codecvt
 *  1829610185 20578 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/propagate_const
 * +1652265939 2098 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/bits/cxxabi_tweaks.h
 *  3903888188 2106 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/__nullptr
 *  3770028336 2145 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/experimental/tuple
 *  1588654181 21646 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/system_error
 *  284618641 217779 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/regex
 * +802402752 22049 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/cxxabi.h
 *  1751385315 22242 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/__split_buffer
 *  1495003405 2244 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/support/solaris/xlocale.h
 *  2030215399 22548 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/scoped_allocator
 * @@ -118,6 +123,7 @@
 *  844202695 4659 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/__threading_support
 *  2019422037 4661 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/string.h
 *  1788110155 50748 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/istream
 * +3554999358 51070 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/bits/c++config.h
 *  681234930 5131 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/errno.h
 *  58780851 52514 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/__bit_reference
 *  1291101994 53712 /var/tmp/portage/sys-libs/libcxx-3.9.1/image/usr/include/c++/v1/tuple
 * ERROR: sys-libs/libcxx-3.9.1::gentoo failed (install phase):
 *   Header checksum mismatch, aborting.
 * 
 * Call stack:
 *     ebuild.sh, line  115:  Called src_install
 *   environment, line 4657:  Called cmake-multilib_src_install
 *   environment, line 1031:  Called multilib-minimal_src_install
 *   environment, line 3008:  Called multilib_foreach_abi 'multilib-minimal_abi_src_install'
 *   environment, line 3202:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
 *   environment, line 2826:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_install'
 *   environment, line 2824:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_install'
 *   environment, line  608:  Called multilib-minimal_abi_src_install
 *   environment, line 3005:  Called multilib_check_headers
 *   environment, line 3064:  Called die
 * The specific snippet of code:
 *               die "Header checksum mismatch, aborting.";
 * 


# emerge --info
Portage 2.3.6 (python 2.7.12-final-0, default/linux/amd64/13.0/desktop, gcc-5.4.0, glibc-2.23-r4, 4.9.34-gentoo x86_64)
=================================================================
System uname: Linux-4.9.34-gentoo-x86_64-Intel-R-_Core-TM-_i5-2520M_CPU_@_2.50GHz-with-gentoo-2.3
KiB Mem:    16357932 total,   4430688 free
KiB Swap:   33554428 total,  33554428 free
Timestamp of repository gentoo: Fri, 08 Sep 2017 21:30:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/cmake:           3.7.2::gentoo
dev-util/pkgconfig:       0.28-r3::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.28::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.26.1::gentoo, 2.28-r2::gentoo, 2.28.1::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r4::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

barzog-overlay
    location: /mnt/gentoo/layman/barzog-overlay
    masters: gentoo
    priority: 50

desktop-effects
    location: /mnt/gentoo/layman/desktop-effects
    masters: gentoo
    priority: 50

gentoo-mate
    location: /mnt/gentoo/layman/gentoo-mate
    masters: gentoo
    priority: 50

java
    location: /mnt/gentoo/layman/java
    masters: gentoo
    priority: 50

prism-overlay
    location: /mnt/gentoo/layman/prism-overlay
    masters: gentoo
    priority: 50

python
    location: /mnt/gentoo/layman/python
    masters: gentoo
    priority: 50

rion
    location: /mnt/gentoo/layman/rion
    masters: gentoo
    priority: 50

science
    location: /mnt/gentoo/layman/science
    masters: gentoo
    priority: 50

seden
    location: /mnt/gentoo/layman/seden
    masters: gentoo
    priority: 50

sunrise
    location: /mnt/gentoo/layman/sunrise
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=corei7-avx -fomit-frame-pointer -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/fax /usr/share/gnupg/qualified.txt /var/spool/fax/etc /var/spool/munin-async/.ssh"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/apache2-php7.0/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cgi-php7.0/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/php/cli-php7.0/ext-active/ /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="-march=corei7-avx -fomit-frame-pointer -O2 -pipe"
DISTDIR="/mnt/gentoo/distfiles/"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch 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"
INSTALL_MASK="/usr/lib/systemd/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
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="R X X509 a52 aac aalib accounting acl acpi adns aim aio alsa amd64 amr ansi ao aot apache2 apng applet archive ass audio audiofile automount avahi avx awt bacula-console bash-completion bazaar bcmath berkdb bidi bind-mysql bittorrent blas bluetooth bluray bonobo boost bzip2 cacert cairo caja calendar caps ccache cdb cdda cddb cdio cdparanoia cdr cgi chipcard chroot clang colord command-args consolekit corefonts cpudetection cpulimit cracklib cramfs crypt cscope css csv ctype cups curl curlwrappers customlog cvs cvsgraph cxx cyrus dba dbi dbm dbus dbx devhelp device-mapper devmap dga dhcp dirac directfb djvu dlna dlopen dnsdb dri dri3 drm dts dv dvb dvd dvdr dvi ecc egl enchant encode excel exif expat faad fam fastcgi fat fdk ffmpeg fftw fits flac flash flatfile fltk fontconfig fonts fpx ftp fuse fusefs gallium gd gdal gdbm gdu geoip geos gif gimp ginac git glib glpk glut gmp gnome-keyring gnuplot gpg gphoto2 graphviz gs gsf gsl gssapi gstreamer gtk gtk2 gtk3 gudev gzip h323 hardened hardenedphp hddtemp hdf5 hdri highlight hpn html http hunspell hwdb iconv icq icu idea idled idn imap imlib imlib2 inifile innodb int64 introspection ios ipalias ipc ipod ipv6 iso jabber jack java javascript jbig jingle jit jpeg jpeg2k json kdrive kerberos keymap kmod kpathsea lame lapack latex lcms ldap less libass libcxx libnotify libsamplerate libv4l libv4l2 libwww live llvm lm_sensors lmtp logrotate logwatch lua lz4 lzma lzo mad magic matroska mbox mcal md5sum memlimit mercurial metis mgetty mhash midi milter mime mimencode ming mmap mms mmx mmxext mng mp3 mp4 mpeg mplayer msn mtp multilib mumps musepack musicbrainz mysql mysqli nagios-dns nagios-game nagios-ntp nagios-ping nagios-ssh ncurses net netboot netcdf netlink network network-uri networkmanager nfs nis nls nntp nptl nsplugin nss ntfs ntp oav ocaml ocamlopt ocatve octave odbc offensive ogg openal opencl openexr opengl openmp openrc openssh openssl orc osc oscar pam pam_chroot pam_console pam_timestamp pango parse-clocks pcf pci pcntl pcre pda pdf pdfkit pdflib perl pgo php pic plotutils png policykit portaudio posix postfix postgis postgres postproc postscript ppds procmail ps pulseaudio pwdb python qdbm qt5 quotas quvi radius raw rdesktop rdp readline recode reiserfs rpc rrdtool rss rtmp samba sample sasl scanner schroedinger scotch screen sendfile sensord session sftp sftplogging shaper shared sharedext shorten sieve simplexml slang slp smartcard smime smp sms smtp sna sndfile snmp snortsam soap sockets socks5 sound sox spamassassin sparse spatialite speex spell spice spl sql sqlite sqlite3 sse sse2 sse3 sse4 sse4_1 ssh ssl ssse3 stream subversion svg sysfs syslog sysvipc szip t1lib taglib tcpd telepathy test-programs theora threads tidy tiff timidity tokenizer tools transparent-proxy truetype truetype-fonts tslib twolame type1-fonts udev udisks unicode upnp upnp-av upower usb userlocales utf8 uuid v4l vaapi vala vcd vdpau vhosts video vim-syntax virtual-users virus-scan vnc vorbis vpx vte wayland wddx weather webdav webkit webm webp wifi win32codecs withsamplescripts wmf x264 x265 xattr xcb xcomposite xetex xface xfs xft xinerama xinetd xml xml2 xmlrpc xmp xmpp xorg xosd xpdf-headers xpm xps xrandr xscreensaver xsl xslt xv xvfb xvid xvmc xz yahoo yaml yaz zlib zvbi" ABI_X86="32 64" APACHE2_MODULES="access auth auth_basic auth_digest authn_default authn_core authn_file authn_dbm authn_dbd authn_alias authn_anon authz_core authz_groupfile authz_host authz_user authz_dbd authz_dbm authz_owner authz_default dbd ident imagemap alias echo charset_lite cache file_cache disk_cache mem_cache ext_filter case_filter case-filter-in deflate filter mime_magic cern_meta proxy proxy_connect proxy_ftp http2 proxy_html proxy_http proxy_ajp proxy_balancer proxy_fcgi proxy_wstunnel expires headers usertrack info include cgi cgid dav dav_lock dav_fs vhost_alias speling rewrite log_config logio env setenvif mime status substitute autoindex asis negotiation dir imap actions userdir so unique_id version dumpio log_forensic reqtimeout socache_shmcb unixd slotmem_shm ratelimit remoteip lbmethod_bybusyness lbmethod_byrequests lbmethod_bytraffic lbmethod_heartbeat xml2enc" APACHE2_MPMS="worker" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4 sse4_1 sse4_2 ssse3" CURL_SSL="nss" ELIBC="glibc" FFTOOLS="cws2fws qt-faststart aviocat ismindex" GPSD_PROTOCOLS="aivdm sirf mtk3301 gpsclock superstar2 timing nmea" GRUB_PLATFORMS="pc multiboot efi coreboot efi-64" INPUT_DEVICES="keyboard mouse evdev wacom synaptics" KERNEL="linux" L10N="en_GB en en_US de_DE de" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer nlpsolver pdfimport wiki-publisher" LINGUAS="en_GB en en_US de_DE de" LLVM_TARGETS="X86 NVPTX" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_6" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby21 ruby22" SANE_BACKENDS="net hp" USERLAND="GNU" VIDEO_CARDS="vga intel i915 i965 fbdev vesa" XFCE_PLUGINS="clock multiload-nandhp power trash"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Thomas Beutin 2017-09-11 19:23:10 UTC
Created attachment 494042 [details]
build.log
Comment 2 Thomas Beutin 2017-09-11 19:25:27 UTC
# emerge -pqv '=sys-libs/libcxx-3.9.1::gentoo'
[ebuild  N    ] sys-libs/libcxx-3.9.1  USE="-libcxxabi -libcxxrt -libunwind -static-libs {-test}" ABI_X86="32 (64) (-x32)"
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-09-12 14:06:07 UTC
Could you compare headers from a failed build? Something along the lines of:

$ diff -dupr /tmp/portage/sys-libs/libcxx-3.9.1/work/libcxx-3.9.1.src-abi_x86_*/include

(adjust paths as necessary)
Comment 4 Thomas Beutin 2017-09-12 17:49:39 UTC
(In reply to Michał Górny from comment #3)
> Could you compare headers from a failed build? Something along the lines of:
[...]

# diff -dupr /var/tmp/portage/sys-libs/libcxx-3.9.1/work/libcxx-3.9.1.src-abi_x86_*/include
Only in /var/tmp/portage/sys-libs/libcxx-3.9.1/work/libcxx-3.9.1.src-abi_x86_64.amd64/include/bits: c++config.h
Only in /var/tmp/portage/sys-libs/libcxx-3.9.1/work/libcxx-3.9.1.src-abi_x86_64.amd64/include/bits: cpu_defines.h
Only in /var/tmp/portage/sys-libs/libcxx-3.9.1/work/libcxx-3.9.1.src-abi_x86_64.amd64/include/bits: cxxabi_forced.h
Only in /var/tmp/portage/sys-libs/libcxx-3.9.1/work/libcxx-3.9.1.src-abi_x86_64.amd64/include/bits: cxxabi_tweaks.h
Only in /var/tmp/portage/sys-libs/libcxx-3.9.1/work/libcxx-3.9.1.src-abi_x86_64.amd64/include/bits: os_defines.h
Only in /var/tmp/portage/sys-libs/libcxx-3.9.1/work/libcxx-3.9.1.src-abi_x86_64.amd64/include: cxxabi.h
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-09-12 18:14:17 UTC
Ok, I can reproduce this both with the old version and with -9999, w/ libsupcxx backend. I suppose our code for it doesn't handle multilib well.

@Thomas, unless you have a very good reason to link libc++ with libsupc++ (gcc), you can enable USE=libcxxabi or USE=libcxxrt to get libc++ building before we fix it.
Comment 6 Thomas Beutin 2017-09-12 19:41:52 UTC
(In reply to Michał Górny from comment #5)
[...]
> @Thomas, unless you have a very good reason to link libc++ with libsupc++
> (gcc), you can enable USE=libcxxabi or USE=libcxxrt to get libc++ building
> before we fix it.

Thanks, sys-libs/libcxx-3.9.1[libcxxabi] fixed my issue here :)