Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 111118 - Dbus-0.36.2 forgets to depend on gtk-2.6
Summary: Dbus-0.36.2 forgets to depend on gtk-2.6
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Project Gentopia
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2005-11-01 04:26 UTC by BlaisorBlade
Modified: 2005-12-02 22:26 UTC (History)
0 users

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 BlaisorBlade 2005-11-01 04:26:07 UTC
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
Comment 1 BlaisorBlade 2005-11-01 06:27:35 UTC
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?
Comment 2 Doug Goldstein (RETIRED) gentoo-dev 2005-11-01 08:46:19 UTC
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.
Comment 3 Roman Stanchak 2005-12-02 22:26:09 UTC
Looks like this issue crept back into the dbus-0.50-r1 ebuild.