I have the suspicion that revdep-rebuild uses a wrong build-order when I run "revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc". E.g. 570686 looks suspiciously like a C++11 ABI mismatch and kde-apps/libkcddb-15.08.3::gentoo does not rebuild either, due to linking errors (e.g. undefined reference to `MusicBrainz5::CNameCredit::Name[abi:cxx11]() const', see attached build.log). Both DEPEND on the library they fail to link against, which probably means that this library should have been rebuilt before the package failing to build now. Thus my report is a mixture between a question and a bugreport: Does revdep-rebuild use the build-order suggested by the ebuild's DEPENDencies? If so: Why does the build fail here, anyway? If not: Why not, and can that be changed, please? Reproducible: Always
Created attachment 421726 [details] build.log
Created attachment 421728 [details] build.log (xz-compressed) This seems to affect kde-base/kdelibs-4.14.15-r1::gentoo as well: CMakeFiles/kio.dir/kio/kfilemetainfo.cpp.o: In function `KFileMetaInfoPrivate::init(QIODevice&, KUrl const&, long, QFlags<KFileMetaInfo::What>)': /var/tmp/portage/kde-base/kdelibs-4.14.15-r1/work/kdelibs-4.14.15/kio/kio/kfilemetainfo.cpp:255: undefined reference to `Strigi::AnalysisResult::AnalysisResult(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, Strigi::IndexWriter&, Strigi::StreamAnalyzer&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: error: ld returned 1 exit status kio/CMakeFiles/kio.dir/build.make:3755: recipe for target 'lib/libkio.so.5.14.15' failed
emerge --info kde-base/kdelibs kde-apps/libkcddb kde-base/baloo kde-apps/kdepim-common-libs kde-apps/kontact sys-devel/gcc media-libs/musicbrainz app-misc/strigi Portage 2.2.26 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/plasma/systemd, gcc-5.3.0, glibc-2.22-r1, 4.3.3-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.3.3-gentoo-x86_64-AMD_A10-7800_Radeon_R7,_12_Compute_Cores_4C+8G-with-gentoo-2.2 KiB Mem: 15381472 total, 6705564 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sat, 02 Jan 2016 09:15:02 +0000 sh bash 4.3_p42 ld GNU ld (Gentoo 2.25 p1.2) 2.25 ccache version 3.2.4 [disabled] app-shells/bash: 4.3_p42::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.22.1::gentoo dev-lang/python: 2.7.11-r1::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo dev-util/ccache: 3.2.4::gentoo dev-util/cmake: 3.4.1::gentoo dev-util/pkgconfig: 0.29::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/sandbox: 2.10-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15-r1::gentoo sys-devel/binutils: 2.25-r1::gentoo sys-devel/gcc: 5.3.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.3::gentoo (virtual/os-headers) sys-libs/glibc: 2.22-r1::gentoo Repositories: gentoo location: /var/cache/portage/gentoo sync-type: rsync sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage priority: -1000 aegypius location: /var/lib/layman/aegypius sync-type: laymansync sync-uri: git://github.com/aegypius/overlay.git masters: gentoo priority: 50 java location: /var/lib/layman/java sync-type: laymansync sync-uri: git://anongit.gentoo.org/proj/java.git masters: gentoo priority: 50 kde location: /var/lib/layman/kde sync-type: laymansync sync-uri: git://anongit.gentoo.org/proj/kde.git masters: gentoo priority: 50 rust location: /var/lib/layman/rust sync-type: laymansync sync-uri: git://github.com/gentoo/gentoo-rust.git masters: gentoo priority: 50 sage-on-gentoo location: /var/lib/layman/sage-on-gentoo sync-type: laymansync sync-uri: git://github.com/cschwan/sage-on-gentoo.git masters: gentoo science priority: 50 science location: /var/lib/layman/science sync-type: laymansync sync-uri: git://anongit.gentoo.org/proj/sci.git masters: gentoo priority: 50 local location: /var/cache/portage/local masters: gentoo science priority: 100 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -O2 -march=bdver3" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/easy-rsa /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.0/ext-active/ /etc/php/cgi-php7.0/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="-pipe -O2 -march=bdver3" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--keep-going --nospinner" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildsyspkg compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch parallel-install 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://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ http://distfiles.gentoo.org" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu" MAKEOPTS="-j3" PKGDIR="/var/cache/portage/packages" PORTAGE_COMPRESS="xz" 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" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac aacplus aacs acl acpi alsa amd64 appindicator archive audit avahi bash-completion bdplus berkdb bluetooth bluray branding bzip2 cairo caps cdda cddb cdio cdr celt cjk cli colord conntrack cracklib crypt cups cxx dbus declarative dirac dri dts dvb dvd dvdr egl emboss encode exif fam fax ffmpeg firefox flac fontconfig fortran gdbm geoclue geolocation gif glamor gmp gpm gstreamer gtk ibus iconv ipv6 jpeg jpeg2k kde kipi ladspa latex lcms ldap libinput libnotify libproxy libsecret lua_target_lua5-2 lv2 lz4 lzma lzo mad mmx mmxext mng modemmanager modplug modules mp3 mp4 mpeg mplayer mtp multilib multitarget mysql ncurses netlink networkmanager nls nptl ogg openal opencl openexr opengl openmax openmp opus pam pango pcap pch pcre pdf phonon plasma png policykit ppds pulseaudio qml qt3support qt4 qt5 readline rtmp samba scanner schroedinger sctp sdl seccomp semantic-desktop session speex spell sse sse2 ssl startup-notification subversion svg systemd tcpd theora threads tiff truetype udev udisks unicode upnp upnp-av upower usb v4l vaapi vdpau vorbis vpx wavpack wayland webp widgets x264 x265 xattr xcb xcomposite xinerama xml xrandr xscreensaver xv xvid xz zeroconf zlib" ABI_X86="64" ALSA_CARDS="hda-intel" 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="stage words flow sheets gemini" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext sse sse2 sse3 ssse3 sse4 sse4a sse4_1 sse4_2" DRACUT_MODULES="btrfs caps systemd" ELIBC="glibc" ENLIGHTENMENT_MODULES="*" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="coreboot efi-64 pc" INPUT_DEVICES="evdev joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en en_GB ar fa" LIRC_DEVICES="devinput" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon radeonsi" 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, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON ================================================================= Package Settings ================================================================= kde-base/kdelibs-4.14.15-r1::gentoo was built with the following: USE="acl alsa bzip2 crypt handbook jpeg2k lzma nls openexr opengl (policykit) spell ssl udev udisks upower zeroconf (-altivec) (-aqua) -debug -doc (-fam) -kerberos -libressl -test" ABI_X86="64" CPU_FLAGS_X86="3dnow mmx sse sse2" CFLAGS="-pipe -O2 -march=bdver3 -g" CXXFLAGS="-pipe -O2 -march=bdver3 -g" kde-apps/libkcddb-15.08.3::gentoo was built with the following: USE="handbook musicbrainz (-aqua) -debug" ABI_X86="64" kde-base/baloo-4.14.3::gentoo was built with the following: USE="minimal (-aqua) -debug" ABI_X86="64" kde-apps/kdepim-common-libs-4.14.10::gentoo was built with the following: USE="google (-aqua) -debug" ABI_X86="64" CFLAGS="-pipe -O2 -march=bdver3 -g" CXXFLAGS="-pipe -O2 -march=bdver3 -g" kde-apps/kontact-4.14.10::gentoo was built with the following: USE="handbook (-aqua) -debug" ABI_X86="64" CFLAGS="-pipe -O2 -march=bdver3 -g" CXXFLAGS="-pipe -O2 -march=bdver3 -g" sys-devel/gcc-5.3.0::gentoo was built with the following: USE="cilk cxx fortran gcj go graphite (multilib) nls nptl openmp (policykit) sanitize (-altivec) (-awt) -debug -doc (-fixed-point) (-hardened) -jit (-libssp) (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" ABI_X86="64" media-libs/musicbrainz-5.0.1::gentoo was built with the following: USE="(policykit) -examples -test" ABI_X86="64" app-misc/strigi-0.7.8-r1::gentoo was built with the following: USE="dbus exif ffmpeg inotify qt4 -clucene -debug (-fam) -libav (-log) -test" ABI_X86="64"
First, revdep-rebuild, both the old bash version and the new python version do NOT do dependency ordering. It determines the broken pkgs that need rebuilding and calls emerge with that list of pkgs. After that all merge ordering is done by emerge. Re-assigning to dev-portage for now.
(In reply to Dennis Schridde from comment #0) > I have the suspicion that revdep-rebuild uses a wrong build-order when I run > "revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc". Please attach the output of the revdep-rebuild --pretend command, showing the build order chosen by emerge.
Created attachment 421848 [details] genlop -l --date 'Jan 1' (In reply to Zac Medico from comment #5) > (In reply to Dennis Schridde from comment #0) > > I have the suspicion that revdep-rebuild uses a wrong build-order when I run > > "revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc". > > Please attach the output of the revdep-rebuild --pretend command, showing > the build order chosen by emerge. Is it possible to get the messages belonging to one run of emerge from a logfile? In the meantime I ran revdep-rebuild repeatedly until everything was rebuilt. Until then, I can only give you the output of: # genlop -l --date 'Jan 1' Jan 1st was just a regular update, with the rebuild runs beginning on Jan 2nd.
(In reply to Dennis Schridde from comment #1) > Created attachment 421726 [details] > build.log This log shows kde-apps/libkcddb-15.08.3 failing due to a bunch of undefined references involving musicbrainz. (In reply to Dennis Schridde from comment #6) > Created attachment 421848 [details] > genlop -l --date 'Jan 1' The log shows media-libs/musicbrainz-5.0.1 before kde-apps/libkcddb-15.08.3 so the ordering of these 2 packages with respect to on another appears to be correct: Sun Jan 3 10:27:13 2016 >>> media-libs/musicbrainz-5.0.1 [more packages] Sun Jan 3 21:29:03 2016 >>> kde-apps/libkcddb-15.08.3 > (In reply to Zac Medico from comment #5) > > Please attach the output of the revdep-rebuild --pretend command, showing > > the build order chosen by emerge. > > Is it possible to get the messages belonging to one run of emerge from a > logfile? In the meantime I ran revdep-rebuild repeatedly until everything > was rebuilt. We'd like to be able to *reproduce* the incorrect order. If we can't reproduce it, then that makes it much more difficult to fix. If you can show incorrect ordering with revdep-rebuild --pretend, then you have a reproducible problem. > Until then, I can only give you the output of: > # genlop -l --date 'Jan 1' > Jan 1st was just a regular update, with the rebuild runs beginning on Jan > 2nd. As you can see above, the ordering between musicbrainz and libkcddb appears correct in the genlop output. We really need the revdep-rebuild --pretend output.
(In reply to Zac Medico from comment #7) > As you can see above, the ordering between musicbrainz and libkcddb appears > correct in the genlop output. We really need the revdep-rebuild --pretend > output. I don't think there is any way that I could give you the output of `revdep-rebuild --pretend` as it was on January 2nd, as all packages (except cdrdao, bug #569344) have already been rebuilt manually - I don't have a backup of the system partition which I could use to try to reproduce the state of January 2nd. If emerge keeps no track of the arguments it was called with or the packages it decided to emerge, I fear we'll have to drop the issue. Contrary to my prior statement and as you might have noticed from genlop's output, I actually rebuilt all of /var/tmp/portage/*/*, rebuilt kdelibs (noticing an unresolved symbol in /usr/lib64/libkio.so.*) and then was finally able to rebuilt the rest of /var/tmp/portage/*/*. (In reply to Zac Medico from comment #7) > (In reply to Dennis Schridde from comment #6) > > Created attachment 421848 [details] > > genlop -l --date 'Jan 1' > > The log shows media-libs/musicbrainz-5.0.1 before kde-apps/libkcddb-15.08.3 > so the ordering of these 2 packages with respect to on another appears to be > correct: > > Sun Jan 3 10:27:13 2016 >>> media-libs/musicbrainz-5.0.1 > [more packages] > Sun Jan 3 21:29:03 2016 >>> kde-apps/libkcddb-15.08.3 There is a gap in emerges between (roughly) 6 p.m. and 9 p.m. This is likely the result of the original revdep-rebuild run finishing and me later trying to rebuild the remaining / failed packages. One of these packages was libkcddb, which was rebuilt successfully at half past nine. Sadly I have no way of knowing at which position libkcddb was originally scheduled to be rebuild (s.a.).
Slightly more information can be found in bug #570686, where I luckily have a (very) short excerpt of `emerge -pv --resume`, showing that baloo was scheduled to be rebuild after a package trying to link against it.
*** Bug 570686 has been marked as a duplicate of this bug. ***