GNOME Bugzilla – Bug 126324
gtkmm 2.2 doesn't build with GTK+ 2.3
Last modified: 2004-12-22 21:47:04 UTC
gmake[5]: Entering directory `/tmp/gtkmm-2.2.8/gdk/gdkmm' if /bin/sh ../../libtool --mode=compile g++ -s -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"gdkmm\" -Dgdkmm_COMPILATION -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -I../../glib -I../../glib -I../../pango -I../../pango -I../../atk -I../../atk -I../../gdk -I../../gdk -I../../gtk -I../../gtk -I/usr/local/lib/sigc++-1.2/include -I/usr/local/include/sigc++-1.2 -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include -I/usr/X11R6/include -I/usr/local/include/pango-1.0 -I/usr/local/include/freetype2 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/BerkeleyDB.4.1/include -O3 -march=i686 -Wall -MT pixbuf.lo -MD -MP -MF ".deps/pixbuf.Tpo" \ -c -o pixbuf.lo `test -f 'pixbuf.cc' || echo './'`pixbuf.cc; \ then mv -f ".deps/pixbuf.Tpo" ".deps/pixbuf.Plo"; \ else rm -f ".deps/pixbuf.Tpo"; exit 1; \ fi g++ -s -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"gdkmm\" -Dgdkmm_COMPILATION -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -I../../glib -I../../glib -I../../pango -I../../pango -I../../atk -I../../atk -I../../gdk -I../../gdk -I../../gtk -I../../gtk -I/usr/local/lib/sigc++-1.2/include -I/usr/local/include/sigc++-1.2 -I/usr/local/include/gtk-2.0 -I/usr/local/lib/gtk-2.0/include -I/usr/local/include/atk-1.0 -I/usr/local/include -I/usr/X11R6/include -I/usr/local/include/pango-1.0 -I/usr/local/include/freetype2 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/BerkeleyDB.4.1/include -O3 -march=i686 -Wall -MT pixbuf.lo -MD -MP -MF .deps/pixbuf.Tpo -c pixbuf.cc -fPIC -DPIC -o .libs/pixbuf.o pixbuf.cc: In member function `void Gdk::Pixbuf::render_to_drawable(const Glib::RefPtr<Gdk::Drawable>&, const Glib::RefPtr<Gdk::GC>&, int, int, int, int, int, int, Gdk::RgbDither, int, int)': pixbuf.cc:435: error: `gdk_pixbuf_render_to_drawable' undeclared (first use this function) pixbuf.cc:435: error: (Each undeclared identifier is reported only once for each function it appears in.) pixbuf.cc: In member function `void Gdk::Pixbuf::render_to_drawable_alpha(const Glib::RefPtr<Gdk::Drawable>&, int, int, int, int, int, int, Gdk::PixbufAlphaMode, int, Gdk::RgbDither, int, int)': pixbuf.cc:440: error: `gdk_pixbuf_render_to_drawable_alpha' undeclared (first use this function) gmake[5]: *** [pixbuf.lo] Error 1 gmake[5]: Leaving directory `/tmp/gtkmm-2.2.8/gdk/gdkmm' gmake[4]: *** [all-recursive] Error 1 gmake[4]: Leaving directory `/tmp/gtkmm-2.2.8/gdk/gdkmm' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/tmp/gtkmm-2.2.8/gdk' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/tmp/gtkmm-2.2.8/gdk' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/tmp/gtkmm-2.2.8' gmake: *** [all] Error 2
I think you are using GTK+ 2.3, which has a very slight API change that causes this. gtkmm 2.3.0 should build.
Could you confirm this please?
Yes I have gtk+ 2.3.0
At the moment, GTK+ 2.3.0 would crash most gtkmm applications even if you could build it. I hope that you are using a separate prefix for such unstable development versions. I am keeping this open because I would like to add some #ifdef workaround to gtkmm 2.2 so that it can build with both GTK+ 2.2 and GTK+ 2.3/2.4
The bug here is due to the DISABLE_DEPRECATED macros that have already been remove. Strangely, gtkmm2 in cvs does seem to build even with that slight GtkCellRenderer::render() API change in GTK+ 2.3. So not #ifdef seems to be needed.
Yes, for information I build gtkmm 2.3.0 without any error
I would like you to check whether gtkmm 2.2 from cvs builds without error.
could you put a cvs snapshot somewhere? would be easier for me.
Hmm, this build error had nothing to do with the API change - it was just because we disabled deprecations before. Closing. I'll release a new gtkmm 2.2.x version soon.