Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 493096 - Updating Qt components triggers dependency blockers
Summary: Updating Qt components triggers dependency blockers
Status: RESOLVED DUPLICATE of bug 290818
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
: 531254 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-12-02 04:18 UTC by Rob
Modified: 2014-12-01 15:45 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rob 2013-12-02 04:18:55 UTC
This is my first bug report, so apologies if I've missed something.

Doing either an #emerge -avuD system or world I get an output like the following:

localhost ~ # emerge -avuD system

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] media-libs/sbc-1.1  USE="-static-libs" 0 kB
[ebuild     U  ] dev-qt/qtcore-4.8.5:4 [4.8.4-r5:4] USE="exceptions glib iconv icu qt3support ssl (-aqua) -debug -pch (-c++0x%)" 0 kB
[ebuild     U  ] dev-qt/qtscript-4.8.5:4 [4.8.4:4] USE="exceptions iconv jit* (-aqua) -debug -pch (-c++0x%)" 0 kB
[ebuild     U  ] dev-qt/qtgui-4.8.5-r1:4 [4.8.4-r1:4] USE="accessibility cups exceptions glib mng nas qt3support tiff xinerama xv (-aqua) -debug -egl -gtkstyle -nis -pch -trace (-c++0x%) (-dbus%*) (-gif%*)" 0 kB
[ebuild     U  ] dev-qt/qtsvg-4.8.5:4 [4.8.4:4] USE="accessibility exceptions (-aqua) -debug -pch (-c++0x%)" 0 kB
[ebuild     U  ] dev-qt/qttest-4.8.5:4 [4.8.4:4] USE="exceptions (-aqua) -debug -pch (-c++0x%)" 0 kB
[ebuild     U  ] dev-qt/qtxmlpatterns-4.8.5:4 [4.8.4:4] USE="(-aqua) -debug -pch (-c++0x%)" 0 kB
[ebuild     U  ] dev-qt/qtwebkit-4.8.5:4 [4.8.4:4] USE="exceptions icu jit (-aqua) -debug -gstreamer* -pch" 0 kB
[ebuild     U  ] dev-qt/qtsql-4.8.5:4 [4.8.4:4] USE="exceptions mysql qt3support sqlite (-aqua) -debug -firebird -freetds -oci8 -odbc -pch -postgres (-c++0x%)" 0 kB
[ebuild     U  ] dev-qt/qt3support-4.8.5:4 [4.8.4:4] USE="accessibility exceptions (-aqua) -debug -pch (-c++0x%)" 0 kB
[ebuild     U  ] dev-libs/json-c-0.11 [0.9-r1] USE="-doc% -static-libs" 0 kB
[ebuild     U  ] dev-qt/qtdbus-4.8.5:4 [4.8.4:4] USE="exceptions (-aqua) -debug -pch (-c++0x%)" 0 kB
[ebuild     U  ] x11-misc/xdg-utils-1.1.0_rc1_p20130921 [1.1.0_rc1_p20120319] USE="perl -doc" 0 kB
[ebuild     U  ] dev-libs/expat-2.1.0-r3 [2.1.0-r2] USE="unicode -examples -static-libs" ABI_X86="(64%*) (-32) (-x32)" 0 kB
[ebuild     U  ] dev-libs/libgamin-0.1.10-r4 [0.1.10-r3] USE="-debug -python -static-libs" ABI_X86="(64%*) (-32) (-x32)" 0 kB
[ebuild     U  ] app-admin/gamin-0.1.10-r1 [0.1.10] ABI_X86="(64%*) (-32) (-x32)" 0 kB
[ebuild     U  ] dev-qt/qtopengl-4.8.5:4 [4.8.4:4] USE="exceptions qt3support (-aqua) -debug -egl -pch (-c++0x%)" 0 kB
[ebuild     U  ] media-libs/harfbuzz-0.9.23:0/0.9.18 [0.9.12:0/0] USE="cairo%* glib%* graphite%* icu%* truetype%* -introspection% -static-libs" 0 kB
[ebuild     U  ] x11-libs/pango-1.34.1 [1.30.1] USE="X introspection -debug (-doc%) (-test%)" 0 kB
[ebuild     U  ] dev-qt/qtdeclarative-4.8.5:4 [4.8.4:4] USE="accessibility exceptions qt3support (-aqua) -debug -pch -webkit (-c++0x%)" 0 kB
[ebuild  N     ] dev-qt/designer-4.8.5:4  USE="declarative exceptions qt3support (-aqua) -debug -pch (-phonon) -webkit" 0 kB
[ebuild     U  ] dev-lang/python-exec-2.0.1:2 [2.0:2] PYTHON_TARGETS="(jython2_5) (jython2_7) (pypy2_0) (python2_6) (python2_7) (python3_2) (python3_3)" 0 kB
[ebuild     U ~] dev-lang/python-3.3.3:3.3 [3.3.2-r2:3.3] USE="gdbm ipv6 ncurses readline ssl threads xml -build -doc -examples -hardened -sqlite -tk -wininst" 0 kB
[ebuild     U  ] dev-util/gdbus-codegen-2.36.4-r1 [2.32.4-r1] PYTHON_TARGETS="python2_7 python3_2* python3_3%* -python2_6 (-python2_5%) (-python3_1%)" 0 kB
[ebuild  N     ] media-libs/flac-1.2.1-r3  USE="3dnow cxx ogg sse (-altivec) -debug -static-libs" 0 kB
[ebuild     U  ] dev-libs/atk-2.8.0 [2.6.0] USE="introspection nls {-test%}" 0 kB
[ebuild     U  ] x11-libs/gdk-pixbuf-2.28.2:2 [2.26.4:2] USE="X introspection jpeg tiff -debug -jpeg2k {-test} (-doc%)" 0 kB
[ebuild     U  ] app-text/iso-codes-3.45 [3.40] 0 kB
[ebuild     U  ] x11-libs/gtk+-2.24.22:2 [2.24.17:2] USE="cups introspection xinerama (-aqua) -debug -examples {-test} -vim-syntax" 0 kB
[ebuild  NS    ] sys-fs/udisks-2.1.0:2 [1.0.4-r5:0] USE="gptfdisk introspection -cryptsetup -debug (-selinux) -systemd" 0 kB
[ebuild     U  ] media-libs/audiofile-0.3.6-r1:0/1 [0.3.5:0/1] USE="flac%* -static-libs {-test}" ABI_X86="(64%*) (-32) (-x32)" 0 kB
[ebuild  N     ] app-accessibility/at-spi2-core-2.8.0:2  USE="introspection" 0 kB
[ebuild  N     ] app-accessibility/at-spi2-atk-2.8.1:2  USE="{-test}" 0 kB
[ebuild     U  ] x11-libs/gtk+-3.8.7:3 [3.4.4:3] USE="X cups introspection xinerama (-aqua) -colord -debug -examples (-packagekit) {-test} -vim-syntax (-wayland) (-doc%)" 0 kB
[ebuild     U  ] gnome-base/gconf-3.2.6-r1:2 [2.32.4-r1:2] USE="gtk introspection ldap (policykit) -debug -orbit%" PYTHON_TARGETS="python2_7%* -python2_6%" 0 kB
[ebuild     U  ] net-libs/libproxy-0.4.11-r1 [0.4.10-r1] USE="kde -gnome* -mono -networkmanager -perl -python -spidermonkey {-test} -webkit" PYTHON_TARGETS="python2_7%* -python2_6%" 0 kB
[ebuild     U  ] net-libs/glib-networking-2.36.2 [2.32.3] USE="libproxy ssl -gnome* -smartcard {-test}" 0 kB
[ebuild     U  ] media-sound/pulseaudio-4.0 [2.1-r1] USE="X alsa asyncns avahi bluetooth caps dbus doc gdbm glib gnome gtk ipv6 jack libsamplerate lirc orc qt4%* realtime ssl tcpd udev webrtc-aec -equalizer (-neon) (-oss) (-system-wide) -systemd {-test} -xen" 0 kB

Total: 38 packages (32 upgrades, 5 new, 1 in new slot), Size of downloads: 0 kB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-qt/qtcore:4

  (dev-qt/qtcore-4.8.5::gentoo, ebuild scheduled for merge) pulled in by
    ~dev-qt/qtcore-4.8.5[aqua=,debug=,qt3support=] required by (dev-qt/qtsql-4.8.5::gentoo, ebuild scheduled for merge)
    (and 11 more with the same problem)

  (dev-qt/qtcore-4.8.4-r5::gentoo, installed) pulled in by
    ~dev-qt/qtcore-4.8.4[aqua=,debug=,qt3support] required by (dev-qt/qt3support-4.8.4::gentoo, installed)
    (and 5 more with the same problem)

dev-qt/qtgui:4

  (dev-qt/qtgui-4.8.5-r1::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-qt/qtgui-4.8.5:4[accessibility,dbus(+)] required by (kde-base/kontact-4.10.5::gentoo, installed)
    ~dev-qt/qtgui-4.8.5[aqua=,debug=,egl=,qt3support=] required by (dev-qt/qtopengl-4.8.5::gentoo, ebuild scheduled for merge)
    (and 136 more with the same problems)

  (dev-qt/qtgui-4.8.4-r1::gentoo, installed) pulled in by
    ~dev-qt/qtgui-4.8.4[aqua=,debug=,glib=,qt3support] required by (dev-qt/qtcore-4.8.4-r5::gentoo, installed)
    (and 2 more with the same problem)

dev-qt/qt3support:4

  (dev-qt/qt3support-4.8.4::gentoo, installed) pulled in by
    ~dev-qt/qt3support-4.8.4[aqua=,debug=] required by (dev-qt/qtgui-4.8.4-r1::gentoo, installed)

  (dev-qt/qt3support-4.8.5::gentoo, ebuild scheduled for merge) pulled in by
    ~dev-qt/qt3support-4.8.5[aqua=,debug=] required by (dev-qt/qtgui-4.8.5-r1::gentoo, ebuild scheduled for merge)
    (and 2 more with the same problem)

dev-qt/qtsql:4

  (dev-qt/qtsql-4.8.4::gentoo, installed) pulled in by
    ~dev-qt/qtsql-4.8.4[aqua=,debug=,qt3support] required by (dev-qt/qt3support-4.8.4::gentoo, installed)

  (dev-qt/qtsql-4.8.5::gentoo, ebuild scheduled for merge) pulled in by
    ~dev-qt/qtsql-4.8.5[aqua=,debug=,qt3support=] required by (dev-qt/qtdeclarative-4.8.5::gentoo, ebuild scheduled for merge)
    (and 1 more with the same problem)

dev-qt/qtscript:4

  (dev-qt/qtscript-4.8.5::gentoo, ebuild scheduled for merge) pulled in by
    ~dev-qt/qtscript-4.8.5[aqua=,debug=] required by (dev-qt/qtgui-4.8.5-r1::gentoo, ebuild scheduled for merge)
    (and 2 more with the same problem)

  (dev-qt/qtscript-4.8.4::gentoo, installed) pulled in by
    ~dev-qt/qtscript-4.8.4[aqua=,debug=] required by (dev-qt/qtgui-4.8.4-r1::gentoo, installed)

dev-qt/qtdbus:4

  (dev-qt/qtdbus-4.8.4::gentoo, installed) pulled in by
    ~dev-qt/qtdbus-4.8.4[aqua=,debug=] required by (dev-qt/qtgui-4.8.4-r1::gentoo, installed)

  (dev-qt/qtdbus-4.8.5::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


Running eix against any of these does not show an unstable application version though I note that "~" is shown in the listing.


My emerge --info yields this:

emerge --info
Portage 2.2.7 (default/linux/amd64/13.0/desktop/kde, gcc-4.7.3, glibc-2.15-r3, 3.10.7-gentoo-r1 x86_64)
=================================================================
System uname: Linux-3.10.7-gentoo-r1-x86_64-AMD_Athlon-tm-_64_Processor_3200+-with-gentoo-2.2
KiB Mem:     4057632 total,   1492660 free
KiB Swap:    1020060 total,   1020060 free
Timestamp of tree: Sun, 01 Dec 2013 02:00:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r3, 3.2.5-r3, 3.3.2-r2
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.4.5, 4.5.4, 4.6.3, 4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo sunrise science zugaina
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions /var/lib/hsqldb"
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"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync webrsync-gpg"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://www.gentoo.osuosl.org/distfiles/ http://gentoo.cites.uiuc.edu/pub/gentoo/ ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.osuosl.org/ http://gentoo.mirrors.tds.net/gentoo http://mirror.mcs.anl.gov/pub/gentoo/ http://lug.mtu.edu/gentoo/ ftp://mirror.mcs.anl.gov/pub/gentoo/ "
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2"
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"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/science /var/lib/layman/zugaina"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt css cups cxx dbus declarative designer-plugin device-mapper dga directfb docbook dri dts dv dvd dvdr ebook eigen emboss emovix encode ewf exif extras faad fam fat fax festival firefox flac flash fluidsynth fortran gcrypt gdbm gif gpm gtk handbook hddtemp iconv icu ieee1394 ipv6 isag jack java jpeg kde kerberos kipi lame lash latex lcms ldap libnotify lm_sensors lzma mad mbrola midi mime mjpeg mmx mng modules mp3 mp4 mpeg mudflap multilib multimedia mysql nas ncurses nls nptl ogg openexr opengl openmp oss pam pango pari pcre pdf phonon plasma png policykit ppds pulseaudio qt3support qt4 readline sdl session skins spell sse sse2 ssl startup-notification subversion svg syslog tcpd tesseract theora tiff truetype udev udisks unicode upower usb vcd vorbis wxwidgets x264 xcb xcomposite xine xinerama xml xscreensaver xv xvid zip zlib" ABI_X86="64" ALSA_CARDS="au8830 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" 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" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2 python3_3" RUBY_TARGETS="ruby19 ruby18" SANE_BACKENDS="abaton agfafocus apple artec artec_eplus48u as6e avision bh canon canon630u canon_dr canon_pp cardscan coolscan coolscan2 coolscan3 dc210 dc240 dc25 dell1600n_net dmc epjitsu epson epson2 fujitsu genesys gt68xx hp hp3500 hp3900 hp4200 hp5400 hp5590 hpljm1005 hpsj5s hs2p ibm kodak kodakaio kvs1025 kvs20xx leo lexmark ma1509 magicolor matsushita microtek microtek2 mustek mustek_pp mustek_usb2 nec net niash p5 pie pixma plustek plustek_pp qcam ricoh rts8891 s9036 sceptre sharp sm3600 sm3840 snapscan sp15c st400 stv680 tamarack teco1 teco2 teco3 test u12 umax umax1220u umax_pp xerox_mfp" USERLAND="GNU" VIDEO_CARDS="radeon nv virtualbox v4l" 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"
USE_PYTHON="2.7"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

I also use Porthole, but it does not indicate that any of the packages such as dev-qt/qtcore are unstable, yet it is according to the Gentoo On-Line Package Database. I only dioscovered this tonight.

I've had no crashes, but short of piecemeal installing and uninstalling I have not been able to go beyond the output shown above. 


Reproducible: Always

Steps to Reproduce:
1.I simply run #emerge -avuD sytsem or world.
2.
3.
Actual Results:  
See Description

Expected Results:  
I would expect it to run though a system emerge.
Comment 1 Sergey Popov gentoo-dev 2013-12-02 10:34:45 UTC
This is longstanding issue, i hit it almost at every update. It can be workarounded by such command, for example:

emerge -1u `qlist -uc dev-qt/ | xargs`
Comment 2 Davide Pesavento gentoo-dev 2013-12-02 12:26:44 UTC
Use `emerge ... world` instead of `emerge ... system`.

Blockers are expected if you don't update all Qt modules at the same time. Portage output may not be optimal in some cases, especially when there are other problems such as USE changes, there's plenty of other bugs open on this subject.
Comment 3 Sergey Popov gentoo-dev 2013-12-02 13:35:08 UTC
I reopen this, cause i see this error on upgrade even if i use

emerge -uDN world --with-bdeps=y

So, problem is deeper, IMO. I have no dev-qt/* atoms in /var/lib/portage/world file, so, maybe problem is there.
Comment 4 Davide Pesavento gentoo-dev 2013-12-02 14:55:24 UTC
(In reply to Sergey Popov from comment #3)

Try with a higher value for --backtrack

> So, problem is deeper, IMO. I have no dev-qt/* atoms in
> /var/lib/portage/world file, so, maybe problem is there.

No, that's fine.
Comment 5 Rob 2013-12-14 21:01:58 UTC
Sergey's remarks put me to further searching on the Gentoo Forums. IN doing so I discovered a similar problem. Were I more familiar with qlist and sed I may answered this problem. That said the poster solved his problem with the following:
emerge $(qlist -IvC qt | grep 4.8 | sed s/-4.8.*$//g)

The link to that post is:

http://forums.gentoo.org/viewtopic-t-964966-start-0.html

This command brought up all the blockers and re-emerged them with no problem.

[ebuild   R    ] dev-qt/qtcore-4.8.5:4  USE="exceptions glib iconv icu qt3support ssl (-aqua) -debug -pch" 0 kB
[ebuild   R    ] dev-qt/qtscript-4.8.5:4  USE="exceptions iconv jit (-aqua) -debug -pch" 0 kB
[ebuild   R    ] dev-qt/qtsql-4.8.5:4  USE="exceptions mysql qt3support sqlite (-aqua) -debug -firebird -freetds -oci8 -odbc -pch -postgres" 0 kB
[ebuild   R    ] dev-qt/qtxmlpatterns-4.8.5:4  USE="(-aqua) -debug -pch" 0 kB
[ebuild   R    ] dev-qt/qtdbus-4.8.5:4  USE="exceptions (-aqua) -debug -pch" 0 kB
[ebuild   R    ] dev-qt/qttest-4.8.5:4  USE="exceptions (-aqua) -debug -pch" 0 kB
[ebuild   R    ] dev-qt/qtgui-4.8.5-r1:4  USE="accessibility cups exceptions glib mng nas qt3support tiff xinerama xv (-aqua) -debug -egl -gtkstyle -nis -pch -trace" 0 kB
[ebuild   R    ] dev-qt/qt3support-4.8.5:4  USE="accessibility exceptions (-aqua) -debug -pch" 0 kB
[ebuild   R    ] dev-qt/qtopengl-4.8.5:4  USE="exceptions qt3support (-aqua) -debug -egl -pch" 0 kB
[ebuild   R    ] dev-qt/qtsvg-4.8.5:4  USE="accessibility exceptions (-aqua) -debug -pch" 0 kB
[ebuild   R    ] dev-qt/qtmultimedia-4.8.5:4  USE="alsa exceptions (-aqua) -debug -pch" 0 kB
[ebuild   R    ] dev-qt/qtwebkit-4.8.5:4  USE="exceptions icu jit (-aqua) -debug -gstreamer -pch" 0 kB
[ebuild   R    ] dev-qt/qtdeclarative-4.8.5:4  USE="accessibility exceptions qt3support (-aqua) -debug -pch -webkit" 0 kB
[ebuild   R    ] dev-qt/designer-4.8.5:4  USE="declarative exceptions qt3support (-aqua) -debug -pch (-phonon) -webkit" 0 kB

Total: 14 packages (14 reinstalls), Size of downloads: 0 kB


These were the major blockers. Once these were built I still had a few packages to deal with, but it was a typical uninstall a few and rebuild. I had thought that the necessity to do was a thing of the past. This apparently is not true. system and world were successfully rebuilt as well as all dependencies.
Comment 6 Davide Pesavento gentoo-dev 2013-12-14 21:22:55 UTC
Sergey, do you have any practical suggestions to improve the situation here? As I said, I don't consider this as a bug, and even if it were, it's probably portage's, not ours. The only thing we can do is removing the blockers afaics.
Comment 7 Sergey Popov gentoo-dev 2013-12-15 10:34:22 UTC
Well, i have some thoughts about it based more on expirience than deeper undestanding, but they requires some amount of work(probably a lot) to be done. Here they are:

1) updating one part of Qt(for example - QtCore), why not updating others, that depends on it triggers hard-to-catch runtime errors in applications. I lost my net-im/psi configuration when system was halfly updated. 

So, conclusion here - All qt components should be exactly the same versions and should be updated in one run. QtSql 4.8.4 can run against QtCore 4.8.5, but results can be very frustrating.

2) regarding of 1) i came to conclusion that we can try to utilize sub-slots here. So, when portage wants to update QtGui -> it will pull new QtCore -> it will pull all other components of versions that we need.

Current situation that i see:

portage wants to update QtGui to 4.8.5 -> it will pull QtCore 4.8.5(and other Qt components, but not, for example QtSql and some QtFoo - hell, i am bored with examples) -> QtFoo 4.8.4 wants exactly QtSql 4.8.4 -> QtSql 4.8.4 wants exactly QtCore 4.8.4 -> we are stuck!

But yes, it seems that trick is in dependency resolution(cause emerge -uDN world should add to graph both QtFoo and QtSql for updating), depgraph is someway borked(dunno how, or maybe problem is deeper, so i will CC Portage team them just for the relevance).

Subslots are probably(i said it again 'probably', as i am not familiar with portage internals) changes this behaviour, so, after someone pull new QtCore -> all of it's subslotted revdeps will be added to update queue in one go.
Comment 8 Davide Pesavento gentoo-dev 2013-12-15 13:02:48 UTC
(In reply to Sergey Popov from comment #7)

So, just to be a bit more specific, you're proposing to have
  SLOT="4:${PV}"
in Qt ebuilds and then depending on the exact subslot, correct?

Honestly I don't see how this could improve the situation for the resolver, but I'll let portage guys comment on it.

OTOH, bug 491474 might help.
Comment 9 Sebastian Luther (few) 2013-12-15 18:40:16 UTC
(In reply to Sergey Popov from comment #7)
> Well, i have some thoughts about it based more on expirience than deeper
> undestanding, but they requires some amount of work(probably a lot) to be
> done. Here they are:
[...]

Your experience is that if A depends on B:=, then A gets rebuild if there's an update for B (assuming the sub slot changed).

This won't happen in your case, since you'll need to hard code the sub-slot in the dependencies of A, i.e "B:4.8.5/4.8.5". This means rebuilding A would still not allow it to use the updated B. Which means there's no point in doing rebuilds in this case.

To summarize: Your situation won't change.

(In reply to Davide Pesavento from comment #8)
[...]
> OTOH, bug 491474 might help.

Did increasing the backtrack limit solve the problem for the reporter or anyone else? If yes, which value did you need? How many slot conflicts are in your system? (i.e. try with --backtrack=0 and count the slot conflicts, separated by dev-qt/* and others).
Comment 10 Davide Pesavento gentoo-dev 2013-12-15 23:55:12 UTC
(In reply to Sebastian Luther (few) from comment #9)
> (In reply to Davide Pesavento from comment #8)
> [...]
> > OTOH, bug 491474 might help.
> 
> Did increasing the backtrack limit solve the problem for the reporter or
> anyone else? If yes, which value did you need? How many slot conflicts are
> in your system? (i.e. try with --backtrack=0 and count the slot conflicts,
> separated by dev-qt/* and others).

It worked for me some time ago when I was upgrading Qt (4.8.4 -> 4.8.5) and KDE (4.10.x -> 4.11.y) at the same time. However I don't remember the exact backtrack value.
Comment 11 Sergey Popov gentoo-dev 2013-12-16 17:12:42 UTC
(In reply to Sebastian Luther (few) from comment #9)
> (In reply to Sergey Popov from comment #7)
> > Well, i have some thoughts about it based more on expirience than deeper
> > undestanding, but they requires some amount of work(probably a lot) to be
> > done. Here they are:
> [...]
> 
> Your experience is that if A depends on B:=, then A gets rebuild if there's
> an update for B (assuming the sub slot changed).
> 
> This won't happen in your case, since you'll need to hard code the sub-slot
> in the dependencies of A, i.e "B:4.8.5/4.8.5". This means rebuilding A would
> still not allow it to use the updated B. Which means there's no point in
> doing rebuilds in this case.

No, as i understand(looking into portage code) sub-slot checks are done separately, so it will probably help if we traced the problem right. As i said before, subslot rebuilds will be triggered at once, and after that - normal dependency resolution will follow and that's why, on that stage, we will have ALL Qt packages of newer versions pulled -> problem will be beaten.

I will try to reproduce this situation in chroot and if my solution helps, we should probably keep this way, cause it solves not only this bug, but also it helps in situation 1) from my previous post.
Comment 12 Davide Pesavento gentoo-dev 2014-05-28 01:47:58 UTC
I'm not sure what this bug is about anymore... can we close it as WFM or CANTFIX?

There's not really much we can do about it, plus it happens only in some very particular and hard-to-reproduce scenarios... the great majority of users seems to be able to deal with it just fine.
Comment 13 Sergey Popov gentoo-dev 2014-06-17 07:43:46 UTC
(In reply to Davide Pesavento from comment #12)
> I'm not sure what this bug is about anymore... can we close it as WFM or
> CANTFIX?
> 
> There's not really much we can do about it, plus it happens only in some
> very particular and hard-to-reproduce scenarios... the great majority of
> users seems to be able to deal with it just fine.

Well, we have necessary section in Qt/FAQ page on wiki, so, even if this pains me so much - closed as CANTFIX
Comment 14 Michael Palimaka (kensington) gentoo-dev 2014-12-01 11:55:04 UTC
*** Bug 531254 has been marked as a duplicate of this bug. ***
Comment 15 Zac Medico gentoo-dev 2014-12-01 15:45:55 UTC

*** This bug has been marked as a duplicate of bug 290818 ***