I'm setting up a new system and ran into a failure in the doxygen build while it was looking for QT, which isn't installed yet. I checked the ebuild and QT is listed as a runtime dependancy instead of a dependancy. If it's needed by the configure scripts it is both runtime and compiletime so this should be chanage. details: >>> emerge (7 of 38) app-doc/doxygen-1.3.9.1 to / >>> Downloading http://ebiz-randd.cti-pet.com/mirrors/gentoo/distfiles/doxygen-1.3.9.1.src.tar.gz --06:50:25-- http://ebiz-randd.cti-pet.com/mirrors/gentoo/distfiles/doxygen-1.3.9.1.src.tar.gz => `/usr/portage/distfiles/doxygen-1.3.9.1.src.tar.gz' Resolving ebiz-randd.cti-pet.com... 10.80.254.2 Connecting to ebiz-randd.cti-pet.com[10.80.254.2]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2,713,070 [application/x-tar] 100%[============================================================================>] 2,713,070 11.21M/s 06:50:25 (11.21 MB/s) - `/usr/portage/distfiles/doxygen-1.3.9.1.src.tar.gz' saved [2713070/2713070] >>> md5 src_uri ;-) doxygen-1.3.9.1.src.tar.gz >>> Unpacking source... >>> Unpacking doxygen-1.3.9.1.src.tar.gz to /var/tmp/portage/doxygen-1.3.9.1/work >>> Source unpacked. Autodetected platform linux-g++... QTDIR environment variable not set! Checking for Qt...QTDIR not set and Qt not found at standard locations! tmake requires the QTDIR environment variable to be set. check the Qt installation instructions! !!! ERROR: app-doc/doxygen-1.3.9.1 failed. !!! Function src_compile, Line 36, Exitcode 2 !!! "./configure" failed. !!! If you need support, post the topmost build error, NOT this status message. monitor root # emerge -uDpv gvim fluxbox eterm gkrellm gentoo-artwork These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] app-doc/doxygen-1.3.9.1 +doc +qt -tetex 0 kB [ebuild N ] media-libs/imlib2-1.2.0 +X +doc +gif +jpeg +mmx +nls +png +tiff 869 kB [ebuild N ] x11-libs/libast-0.5-r2 +imlib +mmx -pcre 270 kB [ebuild N ] x11-terms/eterm-0.9.2-r6 -escreen -etwin +mmx 1,018 kB [ebuild N ] dev-perl/Digest-MD4-1.3 28 kB [ebuild N ] dev-perl/Crypt-SmbHash-0.02 7 kB [ebuild N ] dev-db/mysql-4.0.22-r2 +berkdb -debug -innodb +perl +readline (-selinux) +ssl -static +tcpd 14,058 kB [ebuild N ] dev-libs/cyrus-sasl-2.1.20 -authdaemond +berkdb -debug +gdbm +java -kerberos +ldap +mysql +pam -postgres +ssl -static 1,733 kB [ebuild N ] dev-perl/Net-Daemon-0.37 29 kB [ebuild N ] dev-perl/Storable-2.07-r1 94 kB [ebuild N ] dev-perl/PlRPC-0.2016-r1 17 kB [ebuild N ] dev-perl/DBI-1.38-r1 292 kB [ebuild N ] dev-perl/DBD-mysql-2.1027 95 kB [ebuild N ] media-libs/giflib-4.1.0-r3 +X +gif 294 kB [ebuild N ] media-libs/libungif-4.1.3 +X +gif 429 kB [ebuild N ] media-libs/lcms-1.13 +jpeg +python +tiff +zlib 572 kB [ebuild N ] media-libs/libmng-1.0.4 555 kB [ebuild N ] x11-libs/qt-3.3.3 +cups -debug +doc -firebird +gif -icc -immqt -immqt-bc +ipv6 +mysql -nas +odbc +opengl -postgres -sqlite +xinerama +zlib 14,086 kB [ebuild N ] dev-db/unixODBC-2.2.6 -gnome +qt 2,128 kB [ebuild N ] net-nds/openldap-2.1.30-r2 +berkdb +crypt -debug +gdbm +ipv6 +odbc +perl +readline +samba +sasl +slp +ssl +tcpd 1,996 kB [ebuild N ] dev-perl/digest-base-1.05 5 kB [ebuild N ] dev-perl/Digest-MD5-2.33 43 kB [ebuild N ] dev-perl/Authen-SASL-2.04 7 kB [ebuild N ] dev-perl/MIME-Base64-3.05 15 kB [ebuild N ] dev-perl/URI-1.35 93 kB [ebuild N ] dev-perl/Convert-ASN1-0.17 43 kB [ebuild N ] dev-perl/Net-SSLeay-1.23 73 kB [ebuild N ] dev-perl/IO-Socket-SSL-0.96 31 kB [ebuild N ] dev-perl/perl-ldap-0.31 +sasl +ssl +xml 216 kB [ebuild N ] net-fs/samba-3.0.10 +acl +cups -debug +doc -kerberos +ldap -libclamav +mysql -oav +pam -postgres +python -quotas +readline (-selinux) -winbind +xml +xml2 15,090 kB [ebuild N ] app-admin/gkrellm-2.1.28-r1 +X +nls +ssl 618 kB [ebuild N ] x11-themes/gentoo-artwork-0.4 -kde 58,442 kB As you can see, QT is comming in after doxygen but is required by the doxygen ebuild. Reproducible: Always Steps to Reproduce: 1. Attempt to emerge something on a new system which requires doxygen and qt both, while QT is not already installed. 2. Wait ;-) 3. This can be fixed pretty easily by making qt a depend instead of an rdepend in the doxygen ebuild.
Well, I take it back, in the ebuild I see this: RDEPEND="media-gfx/graphviz qt? ( x11-libs/qt ) doc? ( tetex? ( virtual/tetex ) virtual/ghostscript )" DEPEND=">=sys-apps/sed-4 ${RDEPEND}" So why isn't QT a depend? Anyhow, I ran emerge -pv doxygen and QT was listed before it properly, but when I run emerge -uDpv doxygen QT is listed after doxygen. Sounds like this may be a portage bug not a doxygen bug.
Taking this a bit further, I removed the doc use flag and noticed that it fixed the DEPEND/RDEPEND problem. No doubt it's a cyclic dependancy now. I don't really know how to fix this. I would think it should be possible to do this, but it may require something close to a bootstrap-like process of building binaries first then going back and rebuilding documentation. It might actually be nice to add some type of non-linear processing to portage where an ebuild acts more like a single task instead of a many sequential tasks.
I also ran into this same problem with the same work around. In my case, I'm rebuilding a system where I lost the root drive. After completing stage3 and running 'emerge -puDv system', I copied the make.conf file from an identically configured machine which includes USE="doc". In this example, executing 'emerge -puDv kde' with all of my preferred USE flags set brings in nearly all my standard desktop packages. I had to execute 'USE="-doc" emerge qt' in order to be able to subsequently emerge doxygen.
I experimented with trying to workaround this, but I can't see a way to get the current portage to resolve this correctly. If anyone has any suggestions, feel free to reopen this bug.
*** Bug 119991 has been marked as a duplicate of this bug. ***