Dbus-0.36.2 should also have, when the gtk use flag is enabled, a dependency on gtk-2.6, because they don't compile with gtk 2.4. dbus-0.23.4-r1 (and I guess previous ones) emerge fine, on amd64. Trying to compile via emerge dbus-0.36.2 (on amd64), with gtk use flag, gives this linkage error: statemachine-client.o(.text+0x12e): In function `lose_gerror': : undefined reference to `gtk_message_dialog_format_secondary_text' statemachine-client.o(.text+0x105c): In function `get_machines_cb': : undefined reference to `gtk_cell_renderer_progress_new (complete error text, with gcc cmd line, below). I've done a "very deep test" (aka grep) and I've discovered that on my other Gentoo system (on which I _have_ dbus installed, not sure if the same version) I have installed Gtk+-2.6.4-r1. I haven't yet verified the opposite (I'm upgrading gtk+ right now). While on this one, I've installed only 2.4.13-r1. And my "deep test" gives: $ LC_ALL=C grep gtk_message_dialog_format_secondary_text {/mnt/gen32,}/usr/lib/ libgtk-x11-2.0.so Binary file /mnt/gen32/usr/lib/libgtk-x11-2.0.so matches $ LC_ALL=C grep gtk_cell_renderer_progress_new {/mnt/gen32,}/usr/lib/libgtk-x11- 2.0.so Binary file /mnt/gen32/usr/lib/libgtk-x11-2.0.so matches make[6]: Entering directory `/var/tmp/portage/dbus-0.36.2/work/dbus-0.36.2/glib/ examples/statemachine' /bin/sh ../../../libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc - march=athlon64 -O2 -pipe -fomit-frame-pointer -Wall -Wchar-subscripts -Wmissing- declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -o statemachine-client statemachine-client.o sm- marshal.o ../../../glib/libdbus-glib-1.la -Wl,--export-dynamic -pthread -L/usr/ lib64 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib- 2.0 -lnsl x86_64-pc-linux-gnu-gcc -march=athlon64 -O2 -pipe -fomit-frame-pointer -Wall - Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs - Wpointer-arith -Wcast-align -Wfloat-equal -Wsign-compare -o .libs/statemachine- client statemachine-client.o sm-marshal.o -Wl,--export-dynamic -pthread ../../ ../glib/.libs/libdbus-glib-1.so -L/usr/lib64 /var/tmp/portage/dbus-0.36.2/work/ dbus-0.36.2/dbus/.libs/libdbus-1.so /usr/lib64/libgtk-x11-2.0.so /usr/lib64/ libgdk-x11-2.0.so /usr/lib64/libatk-1.0.so /usr/lib64/libgdk_pixbuf-2.0.so /usr/ lib64/libpangoxft-1.0.so /usr/lib64/libpangox-1.0.so /usr/lib64/libpango-1.0.so -lm /usr/lib64/libgobject-2.0.so /usr/lib64/libgmodule-2.0.so -ldl /usr/lib64/ libgthread-2.0.so -lpthread /usr/lib64/libglib-2.0.so -lnsl statemachine-client.o(.text+0x12e): In function `lose_gerror': : undefined reference to `gtk_message_dialog_format_secondary_text' statemachine-client.o(.text+0x105c): In function `get_machines_cb': : undefined reference to `gtk_cell_renderer_progress_new' Reproducible: Always Steps to Reproduce: 1. have gtk+-2.4* (I guess) installed rather than 2.6 2. ACCEPT_KEYWORDS="~amd64" emerge -v \=dbus-0.36.2 3. Actual Results: Linkage error Expected Results: Install dbus. Portage 2.0.51.22-r3 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2. 6.14-bs1-mroute x86_64) ================================================================= System uname: 2.6.14-bs1-mroute x86_64 AMD Athlon 64 Processor 3000+ Gentoo Base System version 1.6.13 dev-lang/python: 2.3.4-r1, 2.4.2 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/ share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config / usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/home/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk http://www.ibiblio.org/pub/Linux/ distributions/gentoo http://pandemonium.tiscali.de/pub/gentoo/ ftp:// pandemonium.tiscali.de/pub/gentoo/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://mir.zyrianes.net/gentoo/" LANG="it_IT" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="amd64 X X509 a52 aac aalib acl acpi aim alsa arts artswrappersuid avi bash- completion berkdb bitmap-fonts bzip2 bzlib cddb cdr crypt cscope cups curl dba dga dv dvb dvd dvdr dvdread eds emboss encode erandom esd ethereal fam flac foomaticdb ftp gd gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 hal iconv icq idea ieee1394 imagemagick imap imlib innodb irda jabber jpeg jpeg2k junit kde kerberos krb4 ldap libcaca libwww live lzo lzw lzw-tiff mad maildir mbox md5sum mime mng motif mp3 mpeg mpeg4 msn musicbrainz mysql mythtv ncurses nls nptl ogg oggvorbis opengl pam pcmcia pda pdflib perl php pic png pnp ppds python qt quicktime readline real rtc ruby samba scanner sdl session smime spl sqlite ssl svg sysvipc tcltk tcpd tetex tga tiff truetype-fonts type1-fonts udev unicode usb userlocales v4l v4l2 vim-with-x vorbis wifi winbind wmf xanim xine xml xml2 xosd xpm xprint xsl xv xvid xvmc yahoo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Thanks for re-assigning fast... Also, I've just finished verifying that emerging gtk+-2.6 (actually I've emerged 2.6.8) makes the compile (ebuild clean compile) succeed. I also guess that new API are introduced by gtk+ people only when switching, say, from 2.4 to 2.6, so probably a dependency on ">=x11-libs/gtk+-2.6" works (only a guess, I'm just an user). Also, the current dependency: gtk? ( >=x11-libs/gtk+-2 ) is listed in RDEPEND, together with much other stuff. This means that all those libraries will be auto-installed only _after_ dbus, not before, leading to compilation failures. Could you please fix that too?
It's proper for it to be in RDEPEND as it is a runtime dependancy. RDEPEND does not mean it is merged afterwards either. And you can see from the ebuild that RDEPENDs are copied into DEPEND, the compile time dependancy. Made the necessary change since they say they use the 2.0 API but are obviously using 2.6 API calls.
Looks like this issue crept back into the dbus-0.50-r1 ebuild.