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

Bug 232246

Summary: qmpdclient ebuild fix for qt-4.4
Product: Gentoo Linux Reporter: VoofT <el.vooft>
Component: New packagesAssignee: Qt Bug Alias <qt>
Status: RESOLVED FIXED    
Severity: normal CC: jer
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description VoofT 2008-07-18 20:43:35 UTC
I can't compile QMPDClient with qt-4.4 installed, because when i try to run 'emerge qmpdclient -pv' it shows error.

It seems, that string DEPEND="|| ( =x11-libs/qt-4.3* x11-libs/qt-gui:4 )" in ebuild isn't correct. Maybe you should change it to DEPEND="|| ( >=x11-libs/qt-4.3 x11-libs/qt-gui:4 )"?

Reproducible: Always

Steps to Reproduce:
1. Install qt-4.4
2. Try to emerge qmpdclient

Actual Results:  
[ebuild     UD] x11-libs/qt-4.3.4-r1 [4.4.0] USE="accessibility%* cups%* dbus%* debug%* doc%* gif%* jpeg%* mng%* mysql%* opengl png%* qt3support sqlite3%* ssl%* tiff%* zlib%* -examples% -firebird% -glib% -nas% -nis% -odbc% -pch% -postgres% -sqlite% -xinerama%" INPUT_DEVICES="-wacom%" 0 kB 
[ebuild  N    ] media-sound/qmpdclient-1.0.9  0 kB 
[uninstall    ] x11-libs/qt-qt3support-4.4.0  USE="accessibility -debug -pch" 
[blocks B     ] x11-libs/qt-core (is blocking x11-libs/qt-4.3.4-r1)
[blocks B     ] <=x11-libs/qt-4.4.0_alpha:4 (is blocking x11-libs/qt-script-4.4.0, x11-libs/qt-dbus-4.4.0, x11-libs/qt-assistant-4.4.0-r1, x11-libs/qt-qt3support-4.4.0, x11-libs/qt-phonon-4.4.0, x11-libs/qt-sql-4.4.0, x11-libs/qt-gui-4.4.0, x11-libs/qt-xmlpatterns-4.4.0, x11-libs/qt-svg-4.4.0, x11-libs/qt-test-4.4.0, x11-libs/qt-opengl-4.4.0, x11-libs/qt-core-4.4.0, x11-libs/qt-webkit-4.4.0)


vooft@vooft ~ $ emerge --info
WARNING: repository at /usr/portage/local/vooft is missing a repo_name entry
Portage 2.2_rc1 (default/linux/x86/2008.0/desktop, gcc-4.3.1, glibc-2.7-r2, 2.6.25-gentoo-r5 i686)
=================================================================
System uname: Linux-2.6.25-gentoo-r5-i686-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-glibc2.0
Timestamp of tree: Fri, 18 Jul 2008 19:36:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.4.4-r13, 2.5.2-r5
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.62-r1
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.4
virtual/os-headers:  2.6.25-r4
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe -msse -msse2 -mssse3 -mmmx"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/conf.d /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=core2 -O2 -pipe -msse -msse2 -mssse3 -mmmx"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks parallel-fetch preserve-libs sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LC_ALL="ru_RU.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="ru en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
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/portage/local/vooft"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X a52 aac acl acpi aiglx alsa amazon amr audacious audiofile battery bitmap-fonts bluetooth bluez boost branding bzip2 c++ cairo cdr chardet chm cli cracklib crypt cups curl cursors cxx dbus dga dhcp directfb divx djvu dri dvd dvdnav dvdr dvdread enca encode esd evo exif fam fat ffmpeg firefox fpx ftp fuse gdbm gdm gif glade glitz glut gpm graphviz gstreamer gtk gtk2 hal hddtemp icons iconv icq id3tag imagemagick imlib imlib2 ipod irmc isdnlog jabber javascript jfs jikes jpeg kdeenablefinal kerberos laptop lcms libnotify lm_sensors mad matroska midi mikmod mime mmx mmx2 mmxext mng mod modplug mozilla mp2 mp3 mp4 mpd mpeg mplayer mppe-mppc mudflap musepack mysql ncurses nls nptl nptlonly nsplugin ntfs ntfs3g offensive ogg oggvorbis openal opengl openmp oscar oss pam pcmcia pcre pdf perl pic png posix ppds ppp pppd pptp python qt qt3 qt3support qt4 quicktime rcc rcd readline real recode reflection reiser4 reiserfs rtc scanner sdl session slang smp sndfile spell spl sse sse2 sse3 ssl startup-notification subversion svg taglib tcpd tetex theora threads thunderbird tidy tiff timidity truetype truetype-fonts type1-fonts udev unicode usb userlocales utf8 v4l vim vim-syntax vim-with-x vorbis wifi win32codecs wma wmf x86 xcomposite xine xml xml2 xorg xscreensaver xulrunner xv xvid xvmc 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 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 synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru en" USERLAND="GNU" VIDEO_CARDS="i810 vesa i915"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Carsten Lohrke (RETIRED) gentoo-dev 2008-07-18 22:39:49 UTC
No, your proposed change is wrong. The blocker is in the Qt ebuilds and that on purpose. You have to unmerge Qt 4.3 before installing Qt 4.4.
Comment 2 Carsten Lohrke (RETIRED) gentoo-dev 2008-07-18 22:41:54 UTC
Ah, sorry - you have Qt 4.4 already installed. 
Comment 3 Carsten Lohrke (RETIRED) gentoo-dev 2008-07-18 22:44:05 UTC
Still, your proposed change is wrong. Can you please mask =x11-libs/qt-4.3* locally to see what is causing the downgrade?
Comment 4 VoofT 2008-07-19 05:22:50 UTC
> Can you please mask =x11-libs/qt-4.3* locally to see what is causing the downgrade?
I've masked qt-4.3* and qmpdclient emerges normally. Why error was there?

Comment 5 VoofT 2008-07-19 05:54:04 UTC
Also, why my purpose is wrong? I've tried to find some information except handbook for correct *DEPEND section, but can't.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2008-07-19 13:49:58 UTC
There really is something odd about that DEPEND.

elmer ~ # emerge -va qmpdclient

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

Calculating dependencies... done!
[ebuild     UD] x11-libs/qt-4.3.4-r1 [4.4.0] USE="accessibility%* cups%* dbus%* examples%* gif%* glib%* jpeg%* mng%* mysql%* nas%* nis%* odbc%* opengl png%* postgres%* qt3support sqlite%* ssl%* tiff%* zlib%* -debug% -doc% (-firebird) -pch% -sqlite3% -xinerama%" INPUT_DEVICES="(-wacom)" 0 kB
[ebuild  N    ] media-sound/qmpdclient-1.0.9  0 kB
[uninstall    ] x11-libs/qt-test-4.4.0  USE="-debug (-pch)"
[uninstall    ] x11-libs/qt-assistant-4.4.0-r1  USE="-debug (-pch)"
[uninstall    ] x11-libs/qt-sql-4.4.0  USE="mysql postgres qt3support sqlite -debug (-firebird) -odbc (-pch)"
[uninstall    ] x11-libs/qt-qt3support-4.4.0  USE="accessibility -debug (-pch)"
[uninstall    ] x11-libs/qt-gui-4.4.0  USE="accessibility cups dbus glib mng nas qt3support tiff -debug -nis (-pch) -xinerama" INPUT_DEVICES="(-wacom)"
[uninstall    ] x11-libs/qt-opengl-4.4.0  USE="qt3support -debug (-pch)"
[uninstall    ] x11-libs/qt-phonon-4.4.0  USE="dbus -debug (-pch)"
[uninstall    ] x11-libs/qt-xmlpatterns-4.4.0  USE="-debug (-pch)"
[blocks B     ] x11-libs/qt-core (is blocking x11-libs/qt-4.3.4-r1)
[blocks B     ] <=x11-libs/qt-4.4.0_alpha:4 (is blocking x11-libs/qt-script-4.4.0, x11-libs/qt-dbus-4.4.0, x11-libs/qt-assistant-4.4.0-r1, x11-libs/qt-phonon-4.4.0, x11-libs/qt-xmlpatterns-4.4.0, x11-libs/qt-sql-4.4.0, x11-libs/qt-gui-4.4.0, x11-libs/qt-qt3support-4.4.0, x11-libs/qt-svg-4.4.0, x11-libs/qt-test-4.4.0, x11-libs/qt-opengl-4.4.0, x11-libs/qt-core-4.4.0, x11-libs/qt-webkit-4.4.0, x11-libs/qt-demo-4.4.0)

Total: 2 packages (1 downgrade, 1 new, 8 uninstalls), Size of downloads: 0 kB
Conflict: 2 blocks (2 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked
Comment 7 Zac Medico gentoo-dev 2008-07-19 23:21:07 UTC
At first I suspected this might be a variant of bug 161953 but it's not really because =x11-libs/qt-4.3* is on the left (due to the behavior documented in bug 161953 you'd get the same result if it was on the right).

So, this appears to be a simple case of bug 1343. Until the dependency resolver is able to solve this automatically via backtracking, the best workaround is to manually mask the unwanted version.

*** This bug has been marked as a duplicate of bug 1343 ***
Comment 8 Carsten Lohrke (RETIRED) gentoo-dev 2008-07-25 20:17:05 UTC
I think we can do something about this special case.. The problem is split qt-core-4.4 being installed and Portage tries Qt 4.3 as it is listed first and qt-gui isn't installed. All we have to do is to list the split ebuilds first in this migrational || ( ( splitQt1 .. splitQtN )  oldQt ) depenency circus to work around this bug of Portage. Please corect me, if I'm wrong.
Comment 9 Zac Medico gentoo-dev 2008-07-25 21:31:03 UTC
Well, there's a "feature" that's documented in bug 161953 that can prevent the order from making a difference. If the user has _any_ version of x11-libs/qt installed and _no_ version of x11-libs/qt-gui installed, it will prefer x11-libs/qt regardless of the order that they are listed in the dependency string.
Comment 10 Carsten Lohrke (RETIRED) gentoo-dev 2008-07-26 11:29:51 UTC
Sure, but this shouldn't happen. The split Qt ebuilds have to block <x11-libs/qt-4.4 anyways, since installing these on top of  an installed Qt 4 causes file collisions and when they have x11-libs/qt-4.4 installed,they have all its dependencies installed.

Also listing split dependencies as well as "x11-libs/qt" including 4.4 is a bug from my point of view. The tree is quite broken in this regard, ready to grep and replace - probably need also to send out an email to gentoo-dev.


Guess it's a Qt bug at this point.
Comment 11 Carsten Lohrke (RETIRED) gentoo-dev 2008-07-26 21:29:37 UTC
This package is fixed in cvs, everything else will be handled in bug 217161.