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

Bug 292433

Summary: sys-apps/portage-2.1.6.13 fails to select appropriate version to merge
Product: Portage Development Reporter: Étienne Buira <etienne.buira>
Component: Core - DependenciesAssignee: Portage team <dev-portage>
Status: RESOLVED WORKSFORME    
Severity: minor CC: esigra
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 155723    

Description Étienne Buira 2009-11-08 21:18:42 UTC
When trying to emerge kshisen, without having k*, qt* libraries installed, emerge fails to select a suitable version for x11-libs/qt-{gui,core,svg,qt3support}.

Reproducible: Always

Steps to Reproduce:
1.emerge -av kshisen
adding useflags as requested (shouldn't the needed libraries get installed, as they are needed unconditionally, even if the matching useflag is not set?)
2.USE="kde qt3support" emerge -av kshisen
3.Breaks as below

Actual Results:  
Calculating dependencies... done!

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

x11-libs/qt-gui:4

  ('ebuild', '/', 'x11-libs/qt-gui-4.5.1', 'merge') pulled in by
    >=x11-libs/qt-gui-4.5.1:4[accessibility,dbus] required by ('ebuild', '/', 'kde-base/kshisen-4.3.1', 'merge')
    >=x11-libs/qt-gui-4.5.1:4[accessibility,dbus] required by ('ebuild', '/', 'kde-base/libkdegames-4.3.1', 'merge')
    >=x11-libs/qt-gui-4.5.1:4[accessibility,dbus] required by ('ebuild', '/', 'kde-base/libknotificationitem-4.3.1', 'merge')

  ('ebuild', '/', 'x11-libs/qt-gui-4.5.3-r2', 'merge') pulled in by
    ~x11-libs/qt-gui-4.5.3[qt3support,accessibility,-debug] required by ('ebuild', '/', 'x11-libs/qt-qt3support-4.5.3', 'merge')
    ~x11-libs/qt-gui-4.5.3[-debug] required by ('ebuild', '/', 'x11-libs/qt-svg-4.5.3-r1', 'merge')
    ~x11-libs/qt-gui-4.5.3[qt3support] required by ('ebuild', '/', 'x11-libs/qt-core-4.5.3-r2', 'merge')


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.

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


!!! All ebuilds that could satisfy "~x11-libs/qt-core-4.5.1[glib,qt3support,-debug]" have been masked.
!!! One of the following masked packages is required to complete your request:
- x11-libs/qt-core-4.5.1 (masked by: package.mask)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
(dependency required by "x11-libs/qt-gui-4.5.1" [ebuild])
(dependency required by "kde-base/kshisen-4.3.1" [ebuild])
(dependency required by "kshisen" [argument])

Expected Results:  
emerge qt-*-4.5.3* as dependancies, and then kshisen.

# emerge --info
Portage 2.1.6.13 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.18-xen-r12 x86_64)
=================================================================
System uname: Linux-2.6.18-xen-r12-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9300_@_2.50GHz-with-gentoo-1.12.13
Timestamp of tree: Sun, 08 Nov 2009 19:25:01 +0000
app-shells/bash:     4.0_p28
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.2-r1
dev-util/cmake:      2.6.4
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/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 /etc/udev/rules.d"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.heanet.ie/pub/gentoo/ http://mirror.ovh.net/gentoo-distfiles/ http://mirror.cambrium.nl/pub/os/linux/gentoo/"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.3.3/gentoo-portage"
USE="X aac acl alsa amd64 apache2 berkdb bzip2 cairo cli cracklib crypt cups curl doc dri fortran gd gdbm gif gtk httpd hvm iconv imlib jadetex jpeg latex live mikmod mmx modules mozdevelop mudflap multilib mysql mysqli ncurses nls nptl nptlonly openmp pam pcre pdf perl plotutils png pppd python readline reflection sdl session spl sse sse2 ssl stream svg sysfs tcpd threads truetype unicode usb vorbis x264 xorg xv zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

As a workaround, I could add following lines to /etc/portage/package.mask:
=x11-libs/qt-core-4.5.1
=x11-libs/qt-gui-4.5.1
=x11-libs/qt-qt3support-4.5.1
=x11-libs/qt-svg-4.5.1
add dbus and qt4 use flags.
Comment 1 Zac Medico gentoo-dev 2009-11-09 04:51:50 UTC
I think this handled better by portage=-2.1.7.4. Please reopen if not.
Comment 2 Étienne Buira 2009-11-09 14:08:16 UTC
(In reply to comment #1)
> I think this handled better by portage=-2.1.7.4. Please reopen if not.
> 

Same troubles about mandatory useflags, but now, it wants to emerge dev-java/icedtea-bin-1.6.1, despite I don't have java useflag.
As i read in soprano-2.3.1.ebuild, >=virtual/jdk-1.6.0 is needed if java useflag set. But virtual/jdk-1.6.0 is satisfied yet! (dev-java/sun-jdk-1.6.0.17 is installed, the virtual is also marked installed).
The workaround is now to put "dev-libs/soprano -java" in my package.use.
Don't know if I should reopen bug, or file a new one.
Comment 3 Zac Medico gentoo-dev 2009-11-09 21:01:06 UTC
(In reply to comment #2)
> Don't know if I should reopen bug, or file a new one.

Please file a new bug.
Comment 4 Zac Medico gentoo-dev 2009-11-10 22:43:42 UTC
(In reply to comment #0)
> !!! Multiple package instances within a single package slot have been pulled
> !!! into the dependency graph, resulting in a slot conflict:
> 
> x11-libs/qt-gui:4
> 
>   ('ebuild', '/', 'x11-libs/qt-gui-4.5.1', 'merge') pulled in by
>     >=x11-libs/qt-gui-4.5.1:4[accessibility,dbus] required by ('ebuild', '/',
> 'kde-base/kshisen-4.3.1', 'merge')
>     >=x11-libs/qt-gui-4.5.1:4[accessibility,dbus] required by ('ebuild', '/',
> 'kde-base/libkdegames-4.3.1', 'merge')
>     >=x11-libs/qt-gui-4.5.1:4[accessibility,dbus] required by ('ebuild', '/',
> 'kde-base/libknotificationitem-4.3.1', 'merge')

We've already got some code to detect cases similar this and give you a hint that you need to change the USE. Apparently it needs to be tweaked to handle this particular case.
Comment 5 Sebastian Luther (few) 2011-09-20 19:59:37 UTC
The slot conflict handling has been improved a lot since then. Including giving suggestions or even applying them with autounmask.