Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 144527 - Circular dep on dbus, cups and qt
Summary: Circular dep on dbus, cups and qt
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
: 145444 149463 150103 150714 152009 152502 153377 154861 156247 157057 157546 159466 159675 (view as bug list)
Depends on: 154522
Blocks:
  Show dependency tree
 
Reported: 2006-08-20 07:40 UTC by Hanno Böck
Modified: 2007-07-08 12:36 UTC (History)
18 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 Hanno Böck gentoo-dev 2006-08-20 07:40:27 UTC
I have a fresh installed system where the portage dep tree parsing seems to be wrong.

USE="cups" is set, but it wants to install qt before cups in some cases (e.g. emerge -pv mplayer). Problem doesn't occur with -t set. Some outputs of emerge -p with various parameters:
http://www.schokokeks.org/~hanno/mplayer-deptree.txt
http://www.schokokeks.org/~hanno/emerge-Ddpv.txt
http://www.schokokeks.org/~hanno/emerge-Ddpvt.txt
http://www.schokokeks.org/~hanno/emerge-dpvt.txt

I have copied a snapshot of the portagetree and the system, so I can chroot to it and should be able to reproduce the problem if needed.

Happens on both stable (2.1-r2) and unstable (2.1.1_pre5-r2) portage.


emerge info:
17.8 i686)
=================================================================
System uname: 2.6.17.8 i686 Intel(R) Pentium(R) M processor 1500MHz
Gentoo Base System version 1.12.4
ccache version 2.4 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r2
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17.50.0.3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache collision-protect distlocks fixpackages metadata-transfer parallel-fetch prelink sandbox sfperms sign strict"
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LANG="de_DE.utf-8"
LC_ALL="de_DE.utf-8"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=both -Wl,--as-needed"
LINGUAS="de"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/xgl-overlay /usr/local/overlays/toolchain_overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 7zip X a52 aac aalib acl acpi alsa apache2 asf asm avi bash-completion bluetooth bzip2 cairo cdda cddb cdr cgi chipcard chipcard2 cli crypt cups dbus dri dts dvd dvdnav dvdr encode exif fastbuild fbcon ffmpeg firefox flac freetype gd gd2 gif gimp gimpprint glibc-omitfp glitz glut gphoto2 gpm gstreamer gtk gtk2 gtkhtml hal hardenedphp hashstyle hbci idn ipv6 jack jingle jpeg kde kdeenablefinal kdehiddenvisibility kipi lcms libcaca live mad mhash mikmod mjpeg mmx mmxext mng mod modplug mono mp3 mpeg mpm-peruser musicbrainz mysql ncurses nls no-old-linux nptl nptlonly ogg oggvorbis opengl pam pcre pdf png python qt qt3 qt4 quicktime readline rtsp samba scanner sdl session slang speex spell sse sse2 ssl stream svg sysfs theora tiff truetype udev unicode usb userlocales v4l v4l2 vcd vorbis wifi wxwindows x264 xcomposite xine xinerama xml2 xorg xprint xv xvid zeroconf zlib elibc_glibc input_devices_synaptics input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux linguas_de userland_GNU video_cards_radeon"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Harald van Dijk (RETIRED) gentoo-dev 2006-08-20 08:03:58 UTC
cups depends on dbus, which depends on qt, which depends on cups again. (USE="cups dbus qt3 qt4") Maybe dbus bindings should be put in separate packages?
Comment 2 Hanno Böck gentoo-dev 2006-08-20 08:55:10 UTC
When using USE="qt3 dbus cups", we have a circular dep:
dbus depends on qt
qt depends on cups
cups depends on dbus

CCing all relevant parties
Comment 3 Zac Medico gentoo-dev 2006-08-20 13:46:15 UTC
The reason that emerge doesn't detect the circular dep in this case is that the dep_check call eliminates deps via dep_wordreduce so that they are not properly added to the digraph.  Without representation of these deps in the digraph, the merge order calculation and circular deps detection in depgraph.altlist() do not account for them.
Comment 4 Zac Medico gentoo-dev 2006-08-20 21:19:22 UTC
(In reply to comment #1)
> Maybe dbus bindings should be put in separate packages?

That might be a good idea.  If this remains assigned to dev-portage then we'll just resolve it as duplicate of bug 16365.  I'll see about adding an option to emerge so that it will detect circular deps like this automatically.
Comment 5 Stefan Schweizer (RETIRED) gentoo-dev 2006-08-21 00:49:19 UTC
I have changed the dbus depend to || ( sys-apps/dbus-core sys-apps/dbus ). This will solve itself once the split dbus-0.9 is unmasked. After steev has some mono bindings and everyone had a chance to test it the unmasking can happen.

Feel free to unmask it locally and watch out for bugs!
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-08-29 00:16:00 UTC
*** Bug 145444 has been marked as a duplicate of this bug. ***
Comment 7 Roel Brook 2006-09-26 16:04:30 UTC
For the people finding this bug while installing: workaround:

USE="-*" emerge cups
emerge qt
emerge cups
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2006-10-04 13:39:42 UTC
*** Bug 150103 has been marked as a duplicate of this bug. ***
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2006-10-10 00:53:20 UTC
*** Bug 150714 has been marked as a duplicate of this bug. ***
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2006-10-19 14:16:38 UTC
*** Bug 152009 has been marked as a duplicate of this bug. ***
Comment 11 Jonavon Wilcox 2006-10-19 14:29:47 UTC
This helped out a lot. I'm a newb to gentoo and I was about to go back to spending a month building an LFS system
(In reply to comment #7)
> For the people finding this bug while installing: workaround:
> 
> USE="-*" emerge cups
> emerge qt
> emerge cups
> 

Comment 12 Jakub Moc (RETIRED) gentoo-dev 2006-10-24 13:05:25 UTC
*** Bug 152502 has been marked as a duplicate of this bug. ***
Comment 13 Jakub Moc (RETIRED) gentoo-dev 2006-10-29 22:29:53 UTC
*** Bug 153377 has been marked as a duplicate of this bug. ***
Comment 14 Doug Goldstein (RETIRED) gentoo-dev 2006-11-07 00:05:00 UTC
Not quite sure why this is assigned to us. Since the QT bindings in pre-0.90 D-Bus builds come packaged into D-Bus. Which means D-Bus depends on QT being installed. Which based on USE flags can depend on cups being installed. Which apparently genstef has added the D-Bus USE flag to.

But hey... dbus-0.95 will be in ~arch soon enough.
Comment 15 Jakub Moc (RETIRED) gentoo-dev 2006-11-12 01:41:38 UTC
*** Bug 154861 has been marked as a duplicate of this bug. ***
Comment 16 Jakub Moc (RETIRED) gentoo-dev 2006-12-01 14:35:34 UTC
*** Bug 156849 has been marked as a duplicate of this bug. ***
Comment 17 Jakub Moc (RETIRED) gentoo-dev 2006-12-04 03:27:03 UTC
*** Bug 157057 has been marked as a duplicate of this bug. ***
Comment 18 Doug Goldstein (RETIRED) gentoo-dev 2006-12-05 20:48:06 UTC
D-Bus 1.0.x is out. Caleb and the other QT guys, clean up your 4.2.x for ~arch'd dbus and you're set to close this.
Comment 19 Caleb Tennis (RETIRED) gentoo-dev 2006-12-06 04:53:57 UTC
qt-4.2.2 has been removed from package mask and uses dbus.
Comment 20 Jakub Moc (RETIRED) gentoo-dev 2006-12-08 16:26:16 UTC
*** Bug 157546 has been marked as a duplicate of this bug. ***
Comment 21 Doug Goldstein (RETIRED) gentoo-dev 2006-12-14 11:37:23 UTC
So can't this be closed now?
Comment 22 ivo welch 2006-12-28 18:24:55 UTC
(In reply to comment #21)
> So can't this be closed now?
> 


I had to rebuild my gentoo system.  (Weird udev error on md root disk; still looking into it before I am posting.)  So, from relative scratch now, I started building up my system:

# emerge cups
... starts emerging qt-4.1.4-r2

g++ -c -pipe -O2 -march=i686 -Wall -W   -I../../../mkspecs/linux-g++ -I. -I/usr/include/mysql -I/usr/include/postgresql/pgsql -I. -o cups.o cups.cpp
cups.cpp:1:23: error: cups/cups.h: No such file or directory
cups.cpp: In function 'int main(int, char**)':
cups.cpp:5: error: 'cups_dest_t' was not declared in this scope
cups.cpp:5: error: 'd' was not declared in this scope
cups.cpp:6: error: 'cupsGetDests' was not declared in this scope
make: *** [cups.o] Error 1
Cups disabled.
Cups support cannot be enabled due to functionality tests!
 Turn on verbose messaging (-v) to ./configure to see the final report.
 If you believe this message is in error you may use the continue
 switch (-continue) to ./configure to continue.

!!! ERROR: x11-libs/qt-4.1.4-r2 failed.
Call stack:
  ebuild.sh, line 1546:   Called dyn_compile
  ebuild.sh, line 937:   Called src_compile
  qt-4.1.4-r2.ebuild, line 169:   Called die


Whether it is dbus or not, some circularity is still present...

regards,

/iaw





Portage 2.1.1-r2 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.18-gentoo-r6 i686)
=================================================================
System uname: 2.6.18-gentoo-r6 i686 Intel(R) Celeron(R) CPU 2.00GHz
Gentoo Base System version 1.12.1
Last Sync: Thu, 28 Dec 2006 17:00:02 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.30
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://mirror.clarkson.edu/pub/distributions/gentoo ftp://gentoo.mirrors.pair.com ftp://mirror.nutsmaas.nl/gentoo/"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aalib acpi alsa alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apache2 arts berkdb bitmap-fonts bonobo bzip2 bzlib cairo calendar cdr cli cracklib crypt cups curl dbus directfb dlloader dri dv dvd dvdr eds elibc_glibc emacs emboss encode esd f77 fam fbcon firefox fortran ftp g77 gcj gd gdbm ggi gif gnome gphoto2 gpm gstreamer gtk gtkhtml guile hal hardened i386 iconv ieee1394 imagemagick imap imlib input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog java javascript jpeg kde kdeenablefinal kernel_linux ldap libedit libg++ libwww lm_sensors mad mbox mikmod mime mmx motif mozilla mp3 mpeg mval mysql nas ncurses nls nptl nptlonly ogg opengl oss pam pcre pdf perl png postgres ppds pppd python qt qt3 qt4 quicktime readline reflection ruby samba scanner sdl session slang snmp soap spell spl ssl symlink tcltk tcpd tetex threads tidy truetype truetype-fonts type1-fonts udev ungif unicode usb userland_GNU video_cards_video_cards_sis vorbis win32codecs xinerama xml xml2 xorg xv zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 23 Jakub Moc (RETIRED) gentoo-dev 2006-12-30 06:11:12 UTC
*** Bug 159466 has been marked as a duplicate of this bug. ***
Comment 24 Jakub Moc (RETIRED) gentoo-dev 2006-12-30 06:11:56 UTC
*** Bug 156247 has been marked as a duplicate of this bug. ***
Comment 25 Jakub Moc (RETIRED) gentoo-dev 2007-01-02 01:36:59 UTC
*** Bug 159675 has been marked as a duplicate of this bug. ***
Comment 26 Jean 2007-01-05 16:19:20 UTC
Exact same problem as comment 22 from iaw
Comment 27 kavol 2007-01-06 13:16:14 UTC
Hi,

I just run into it too ...

in my case, I have (nearly) default USE from the 2006.1/desktop profile - this means 'cups', 'dbus', 'qt3' and 'qt4' set (these USE are perfectly ok for me)

I wanted to emerge qt

this pulls qt-4, which depends on cups, which depends on dbus, which depends on qt-3 and qt-4, so that it tries to pull qt-3 at first - of course, this fails because of the configure check for cups

if I try to emerge cups before qt, I am once again stuck - cups is to be emerged after dbus, and dbus wants to have qt-3 and qt-4 which do not have cups available at the time ...

the solution is to make emerge to build cups at first (which can build without dbus installed), e.g. by --nodeps

however, this is only a workaround, the non-interactivity of the emerge process is broken on default USE ... and I am repeating this to make clear that this bug is not ready to close in any way
Comment 28 Doug Goldstein (RETIRED) gentoo-dev 2007-01-20 04:14:02 UTC
This bug can be closed out once dbus-1.0.x goes stable
Comment 29 jcat 2007-02-09 09:53:45 UTC
Shouldn't this bug be closed then?  dbus-1.0.x is now stable...
Comment 30 Steve Sperandeo 2007-02-09 16:33:51 UTC
(In reply to comment #29)
> Shouldn't this bug be closed then?  dbus-1.0.x is now stable...
> 

Bugs should be closed only when they have been confirmed not to reproduce.  This bug in particular is a critical one for people just starting to use gentoo.   It would make sense to try a fresh install as some have done to ensure that this is not reproducible.  Anything else is guesswork.

My two cents,

Steve
Comment 31 Stefan Schweizer (RETIRED) gentoo-dev 2007-02-12 19:52:25 UTC
sys-apps/dbus no longer depends on qt thus there is no longer a circular dep.
Comment 32 Jakub Moc (RETIRED) gentoo-dev 2007-07-08 11:50:15 UTC
*** Bug 149463 has been marked as a duplicate of this bug. ***