GNOME Bugzilla – Bug 129406
libsvrg 2.5 won't compile with libgnomeui 2.0
Last modified: 2004-12-22 21:47:04 UTC
[root@c3829661 librsvg-2.5.0]# make make all-recursive make[1]: Binnengaan van map `/home/lupus/garnome-0.28.3/gnome/librsvg/work/main.d/librsvg-2.5.0' Making all in . make[2]: Binnengaan van map `/home/lupus/garnome-0.28.3/gnome/librsvg/work/main.d/librsvg-2.5.0' /bin/sh ./libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I. -I/garnome/include/libgsf-1 -I/garnome/include/glib-2.0 -I/garnome/lib/glib-2.0/include -I/garnome/include/libxml2 -DHAVE_SVGZ=1 -DORBIT2=1 -pthread -I/garnome/include/libcroco -I/garnome/include/libcroco/parser -I/garnome/include/libcroco/seleng -I/garnome/include/libcroco/layeng -I/garnome/include/glib-2.0 -I/garnome/lib/glib-2.0/include -I/garnome/include/libxml2 -I/garnome/include/libgnomeui-2.0 -I/garnome/include/libgnome-2.0 -I/garnome/include/libgnomecanvas-2.0 -I/garnome/include/gtk-2.0 -I/garnome/include/libart-2.0 -I/garnome/include/gconf/2 -I/garnome/include/libbonoboui-2.0 -I/garnome/include/orbit-2.0 -I/garnome/include/libbonobo-2.0 -I/garnome/include/gnome-vfs-2.0 -I/garnome/lib/gnome-vfs-2.0/include -I/garnome/include/bonobo-activation-2.0 -I/garnome/include/pango-1.0 -I/garnome/include -I/garnome/include/freetype2 -I/garnome/lib/gtk-2.0/include -I/garnome/include/atk-1.0 -I/usr/X11R6/include -DHAVE_LIBCROCO=1 -I. -I. -I/garnome/include/gtk-2.0 -I/garnome/include/glib-2.0 -I/garnome/lib/glib-2.0/include -I/garnome/include/libart-2.0 -I/garnome/include/libxml2 -I/garnome/include/pango-1.0 -I/garnome/include -I/garnome/include/freetype2 -I/garnome/include/gtk-2.0 -I/garnome/lib/gtk-2.0/include -I/garnome/include/atk-1.0 -I/garnome/include -I/usr/X11R6/include -I/garnome/include/pango-1.0 -I/garnome/include/freetype2 -I/garnome/include/glib-2.0 -I/garnome/lib/glib-2.0/include -DG_LOG_DOMAIN=\"librsvg\" -DG_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DDATADIR="\"/garnome/share\"" -I/garnome/include -I/usr/X11R6/include -g -I/garnome/include -I/usr/X11R6/include -L/garnome/lib -L/usr/X11R6/lib -O2 -pipe -c rsvg-styles.c cc -DHAVE_CONFIG_H -I. -I. -I. -I/garnome/include/libgsf-1 -I/garnome/include/glib-2.0 -I/garnome/lib/glib-2.0/include -I/garnome/include/libxml2 -DHAVE_SVGZ=1 -DORBIT2=1 -pthread -I/garnome/include/libcroco -I/garnome/include/libcroco/parser -I/garnome/include/libcroco/seleng -I/garnome/include/libcroco/layeng -I/garnome/include/glib-2.0 -I/garnome/lib/glib-2.0/include -I/garnome/include/libxml2 -I/garnome/include/libgnomeui-2.0 -I/garnome/include/libgnome-2.0 -I/garnome/include/libgnomecanvas-2.0 -I/garnome/include/gtk-2.0 -I/garnome/include/libart-2.0 -I/garnome/include/gconf/2 -I/garnome/include/libbonoboui-2.0 -I/garnome/include/orbit-2.0 -I/garnome/include/libbonobo-2.0 -I/garnome/include/gnome-vfs-2.0 -I/garnome/lib/gnome-vfs-2.0/include -I/garnome/include/bonobo-activation-2.0 -I/garnome/include/pango-1.0 -I/garnome/include -I/garnome/include/freetype2 -I/garnome/lib/gtk-2.0/include -I/garnome/include/atk-1.0 -I/usr/X11R6/include -DHAVE_LIBCROCO=1 -I. -I. -I/garnome/include/gtk-2.0 -I/garnome/include/glib-2.0 -I/garnome/lib/glib-2.0/include -I/garnome/include/libart-2.0 -I/garnome/include/libxml2 -I/garnome/include/pango-1.0 -I/garnome/include -I/garnome/include/freetype2 -I/garnome/include/gtk-2.0 -I/garnome/lib/gtk-2.0/include -I/garnome/include/atk-1.0 -I/garnome/include -I/usr/X11R6/include -I/garnome/include/pango-1.0 -I/garnome/include/freetype2 -I/garnome/include/glib-2.0 -I/garnome/lib/glib-2.0/include -DG_LOG_DOMAIN=\"librsvg\" -DG_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DDATADIR=\"/garnome/share\" -I/garnome/include -I/usr/X11R6/include -g -I/garnome/include -I/usr/X11R6/include -L/garnome/lib -L/usr/X11R6/lib -O2 -pipe -c rsvg-styles.c -fPIC -DPIC -o rsvg-styles.lo In file included from /garnome/include/libgnomeui-2.0/libgnomeui/libgnomeui.h:48, from /garnome/include/libgnomeui-2.0/gnome.h:7, from /garnome/include/libcroco/layeng/cr-box-view.h:32, from /garnome/include/libcroco/libcroco.h:48, from rsvg-styles.c:423: /garnome/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:63: error: syntax error before "GtkCombo" /garnome/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:63: warning: no semicolon at end of struct or union /garnome/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:67: error: syntax error before '}' token /garnome/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:70: error: syntax error before "GtkComboClass" /garnome/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:70: warning: no semicolon at end of struct or union /garnome/include/libgnomeui-2.0/libgnomeui/gnome-entry.h:78: error: syntax error before '}' token make[2]: *** [rsvg-styles.lo] Fout 1 make[2]: Weggaan uit map `/home/lupus/garnome-0.28.3/gnome/librsvg/work/main.d/librsvg-2.5.0' make[1]: *** [all-recursive] Fout 1 make[1]: Weggaan uit map `/home/lupus/garnome-0.28.3/gnome/librsvg/work/main.d/librsvg-2.5.0' make: *** [all-recursive-am] Fout 2 If you need more info plz mail me.
this isn't a rsvg problem. reassigning
The source of this problem is that gtk/gtkcombo.h does not define the type GtkCombo when the GTK_DISABLE_DEPRECATED flag is set. rsvg defines this flag when compiling rsvg-styles.c which indirectly includes gtk/gtkcombo.h, causing a compile error in libgnomeui.h. Even though the problem is caused by rsvg I still think that this is an libgnomeui problem since libgnomeui should not force other programs to use deprecated API.
Maybe libgnomeui.h should have an undef after it's include of the deprecated GTK+ header. Of course it should only def and undef if was not defined already.
Maybe this is a silly posting, but I was just wondering: Why does libsvrg need the GTK_DISABLE_DEPRECATED flag? I just took it out from Makefile, and it compiled perfectly (no errors, no warnings). I didn't run my system yet (I'm compiling garnome 2.28.3), but if it works fine, maybe the resolution would be removing the flag, instead of making libgnomeui.h deal with defs and undefs...
I agree. If it uses deprecated functions it shouldn't define the flag. I've removed the flags from libgnomeui as well, so I'm closing this here.